A Currently LaunchControl requires at least OS X Snow Leopard (10.6). Should we receive enough requests we will add support for OS X Leopard (10.5) as well.
A The main window is divided in three parts. The left-most section shows a list of all jobs of the currently selected type. This list has three columns, the name of the configuration file (without the .plist extension), a checkbox and a status description. Use the check box to enable/disable a service. Note: This operation instantly modifies the job configuration.
A The main window is divided in three parts. The left-most section shows a list of all jobs of the currently selected type. Below this list you find a little button with a '+' label. Click it to add a new job.
A The main window is divided in three parts. The left-most section shows a list of all jobs of the currently selected type. Below this list you find a little button with a '-' label. Click it to remove an existing job. The .plist file will not be deleted. It will be moved to the Trash instead.
A The main window is divided in three parts. The left-most section shows a list of all jobs of the currently selected type. This list has three columns, the name of the configuration file (without the .plist extension), a checkbox and a status description. Select the name, wait half a second and click on the name again to rename this file. The .plist file extension is appended automatically.
A The main window is divided in three parts. The left-most section shows a list of all jobs of the currently selected type, the center represents the configuration section and the table to the right is the palette of available configuration keys. Just drag a key from the palette to configuration section. Make sure you don't drop the key on an input element. Should the key already be defined it will be highlighted.
A Applications in MacOS X are contained in application bundles. An application bundle is just a folder with a special extension, .app in this case. Obviously launchd(8) cannot execute a folder. Use the 'open' command line utility instead:
A While debugging a job it is not necessary to load/unload it manually every time a change to the configuration is made. Event triggered jobs might not be executed at all when loading. The preferred method is to start the job unconditionally by selecting Job>Start (Cmd-Shift S) from the menu. When a change is detected, a request panel will appear: click the Save, Reload and Start button.
- Check for warnings and errors
This is the obvious first step. Make sure you understand every warning and error that LaunchControl reports. Hovering over a warning or error sign in a config sections header will provide details about the error/warning.
- Check the error code
Check for the exit code of the job in the status column of the job list. Move your mouse over the error code to bring up a tool tip with a likely error reason. See bullet "Check the launchd(8) log" to find out if this error reason applies.
- Check the launchd(8) log
It is a good idea to have a look at what launchd(8) has to say about the job while trying run it. Open the log panel by selectingTo find out whether a jobs exit code comes from launchd(8) or the program to be executed watch out for these lines: (Cmd-Opt L) from the menu. Click the trace-button in the upper left corner of the log panel and start the job by selecting (Cmd-Shift S) from the menu.
Job failed to exec(3) for weird reason: <code>
This error code was generated by launchd(8) itself. The program specified could not be run. The error details provided in the tool tip of the job list status column are definitely correct
Exited with code: <code>
This error code was generated by the program/script. launchd(8) was able to execute the program but the program did return a non-zero exit code. By convention this is to be interpreted as an error, but actually the author of the script/program is free to return any exit code he/she wishes. In this case the error details provided in the tool tip of the job list status column may or may not be correct. If the author of the program adhered to the standard exit codes they are correct. Otherwise they are completely misleading.
- Check the jobs standard error/output
Make sure you configure the keys
StandardOutPath. The job might write relevant information to either of these. After running the job click on the trace button in the standard out/error config section. This will open the corresponding file in Console.app.
A Open the log viewer (Cmd-Opt L) and start log tracing (the little triangle button). Then start the job (Cmd-Shift S) and have a look at the output. If launchd(8) prints "Exited with code: 8" then please consult the man page of the program you tried to run. This is what it returned. If you see the line "Job failed to exec(3) for weird reason: 8" just move your mouse cursor over the "Error 8" in the status column. A description will appear: Exec format error. A request was made to execute a file that, although it has the appropriate permissions, was not in the format required for an executable file. The most likely reason is that you are trying to run some script but forgot to specify the executing interpreter.
A Please read the first paragraph on our shop page.
A The shop page is provided by Fastspring, our payment processor. As most of the fields are not validated feel free to enter bogus information where necessary.
A This is not exactly a frequently asked question, but It might be of interest to some:
To completely remove LaunchControl from your computer, disable QuickLaunch from the LaunchControl preferences panel and quit the application. Now unload the helper tool. Open Terminal.app (in your Utilities folder) and enter:
sudo launchctl unload /Library/LaunchDaemons/com.soma-zone.LaunchControl.Helper.plist
This command will ask for your admin password. After the helper tool has been unloaded you can safely remove LaunchControl.app and these files/folders: