When starting many jack applications, they do not start if jack is not already running, and there is no error message to let you know this was because of jack not running.
There are two ways to fix this:
- Fix the upstream code
- Add wrapper scripts in packaging
- Check which packages do not start without jack running
- Make bug reports upstream for those packages
- Fix upstream code, if possible
- While waiting for an upstream fix, patch packages with a wrapper script
The Wrapper Script
The wrapper script could be generic. If the only things it does is checks if jack is running, it can do that, then start an application given to it as an argument.