Run what you want, whenever you want
Lingon can start an app, a script or run a command automatically whenever you want it to. You can schedule it to run at a specific time, regularly or when something special happens.
Lingon can also make sure that an app or a script automatically restarts if it crashes.
Lingon X is based on the great Lingon 3 and extends it with new features like running jobs as root and on multiple dates. It can also monitor all jobs in the background and show a notification when something changes. It is now even easier to use yet much more powerful.
Download and price
Download Lingon X 4
Buy Lingon X for $10 in Lingon X Store >
- Two different versions
- There are two major versions of Lingon available: Lingon 3 and Lingon X.
Lingon X is not available in Mac App Store because of its rules limiting what an app can do.
Compare Lingon and Lingon X
Buy Lingon 3 for $10 in Mac App Store >
New in Lingon X 4
The new Lingon X 4 has many new features and improvements:
- Added an agent that always runs and shows a notification when any job changes
- Better and clearer display of jobs
- You can now edit plists directly so you can now change all settings
- Create new scripts from within Lingon X
- Edit any script from within Lingon X
- Import and export jobs
- Added a preferences window
- Now lists jobs in StartupItems as well
- Improved accessibility
- Updated for macOS El Capitan 10.11
- Many, many other improvements and fixes
There are two main ways to use Lingon:
- Edit or delete an existing job:
- Select the job from the list
- Make the changes you need and choose Save to load it, or choose Delete from the File menu to unload and remove it
- Create a new job:
- Choose New from the File menu
- Give the job a unique name
- Decide what you want to run (e.g. a script, an app or a command) and write the command under Run or use the Choose... button to find it
- The job will run as your user per default but you can change that under User to e.g. run as the root user (Lingon X)
- Choose when you want it to run and if you want it to restart after a crash check the Always checkbox
- In Lingon X, you can under Advanced choose other settings, e.g. if you want it to run when a path changes write the path under WatchPaths
- Choose Save to save the job and load it
See Settings for more info about the options you can choose
- User (Lingon X)
- You can choose to run your jobs for either only yourself, for every user when they log in or as root. Please note that you may need to authenticate as an administrator when using the last two settings.
- You need to give your job a unique name which no other job on the computer uses or it will not run properly. If you don’t give it a name Lingon will give it an automatic name.
- Write a path to an app or a script or write a command. The easiest way to get everything right is to use the Choose... button and select what you want to run. If you write a script please use the whole paths to any commands in the script. If it complex and/or uses things like | or > it might not run properly, so then it is better to write a script and run that script with Lingon instead
- Enabled (Lingon X)
- If this isn’t checked, it will stop the job and the job will never run until it is checked
- Here you choose when your job should run
- Starting up: starts the job when you save it and when you login or start the computer
- Always: keeps the job running at all time and restarts if it crashes. If you manually quit it, it will not restart again and then you need to resave it to run again (you can change this behavior by using SuccessfulExit below)
- Mounting volume (Lingon X): starts the job whenever a volume/disk is mounted
- Time (Lingon X): here you set when it should run or if you want to want it to run repeatedly and with what interval (you can set multiple times when it should run by pressing the plus button)
- Every (Lingon 3): here you set if you want it to run repeatedly and with what interval
- At a specific time (Lingon 3): here you set when you want it run and you can only choose one time (if you to run it at multiple times either get Lingon X or create another job)
- This file is changed (Lingon 3): runs the job whenever this path is changed
- Advanced (Lingon X)
- The options are taken directly from the launchd.plist definitions. You can read more about them here man launchd.plist
- LowPriorityIO: runs the job with a lower priority for accessing the disk
- LegacyTimers: makes sure that different jobs aren’t coalesced and ran at the same time to save system resources, but are run exactly when they should
- SessionCreate: this specifies that the job should be spawned into a new security audit session
- SuccessfulExit: determines whether the job should restart automatically after a manual termination when using the Always setting in When (it is only active when Always is active)
- LaunchOnlyOnce: will run the job only once for every computer reboot no matter what settings are used
- AbandonProcessGroup: set this to not kill any other processes started from the job when the job quits
- LimitLoadToSessionType: only run the job in a specific session type. like e.g. at the login window (this changes only the first item in the LimitLoadToSessionType array)
- UserName: the user name to run the job as (can only be set when running the job as root)
- MachServices: the Mach services to be registered with the Mach bootstrap namespace (this only works simple defined dictionary in the plist)
- WatchPaths: runs the job whenever this path is changed (this changes only the first item in the WatchPaths array)
- WorkingDirectory: changes the working directory to this before the job is run
- StandardOutPath: the file that should be used for data being sent to stdout, i.e. the output from e.g. a script
- StandardErrorPath: the file that should be used for data being sent to stderr, i.e. any errors which occurs when running the job
- I cannot update my app in macOS Sierra, what is wrong?
- Because of security measures in macOS Sierra you have to move the app at least once before you can update it. So if for instance you downloaded the app to the Downloads folder on your Mac, quit the app and then just move it to the /Applications folder and then you can update it.
- Is there a demo version?
- For Lingon X you can download the app and you’ll have all the functionality except that you can’t save or delete a job until you buy a license. Lingon 3 does not have a demo version.
- How does the agent work and why do I get a notification?
- By default when you start Lingon X 4 the first time, an agent starts and it runs automatically in the background and restarts automatically after a restart. It monitors the folders where jobs can be saved and shows a notification (not when Lingon X is the current app) when a job is added, modified or deleted. You can choose “Show” in the notification to show the job in Lingon X. The only way to turn off the agent is in Preferences. If you don’t want a notification for a specific job you can click on the Edit button in Preferences and uncheck the listing for that job.
- What is launchd?
- Lingon lets you run things automatically by modifying configuration files for the system function called launchd. This means that you can also edit or remove jobs created by other apps. And the system handles running the jobs in the background so you don’t need to have Lingon open after you have saved your job.
- I cannot update my app, what is wrong?
- Because of security measures in macOS you have to move the app at least once before you can update it. So if for instance you downloaded the app to the Downloads folder on your Mac, quit the app and then just move it to the /Applications folder and then you can update it.
- What is shown in buttons mode (Lingon X)?
- In buttons mode the label is shown and below it there is a summary of what it does. On the actual button there are up to two characters that are the initials from the summary and it is there just to make it easier to distinguish between the jobs. A disabled job also has a small red icon at the top right corner and is also displayed in a lighter gray color to make it easier to see what jobs are disabled.
- What happened to version 3.0 of Lingon X?
- To avoid confusion between Lingon X 3 and the Mac App Store Lingon 3 the version skipped a number and went directly from Lingon X 2 to Lingon X 4.
- Why can’t I open Lingon X?
- Lingon X uses the new Gatekeeper feature in macOS (see more here: http://support.apple.com/kb/HT5290) so you need to check your security settings in System Preferences - Security & Privacy. You can also ctrl-click on Lingon X and then choose Open and then you will get a dialog in which you can set that you want to run it.
- How can I stop a job?
- The easiest way to just stop a job is just uncheck everything under When in the job and then just save it. In Lingon X you can also use the Enabled checkbox. If you want to permanently delete the job you can do it with Delete in the File menu.
- Why does it say that my file does not contain a valid job?
- The file must first of all be a valid plist which you can check in Terminal with the plutil command. Then it needs at least a key for Label and either Program or ProgramArguments.
- Can I run a job as root?
- Yes, in Lingon X you can run it as root by choosing “root” as the User on the right hand side of the window. In Lingon 3 there is no way to run it directly as root to comply with Mac App Store rules.
- My job doesn’t run, why?
- Usually when a job doesn’t run it is because the underlying system process (launchd - see above) doesn’t think that the job is correct or that it is too complex. One of the things that you can’t do is to use a pipe or use something like “exec” or “>”. But you can solve most problem easily when you have a really complex command by putting that command into a script and then run that script with Lingon. You can also check to see that the whole paths to any commands are included and if you run a script that references or outputs files, that you include the whole path. And for any script that you run make sure that the script is an executable or is run with a command such as /bin/sh.
- Will the job continue to run if I close Lingon?
- Does it work on the Server version of macOS?
- How can I quit an application?
- There isn’t any built-in support for quitting a normal application. But you can do it with an AppleScript command, e.g. to quit Mail write this in Run:
/usr/bin/osascript -e 'tell application "Mail" to quit'
- How do I buy a license?
- For the Lingon X version you can either use the web store directly or choose Purchase... from the Lingon X menu if you want to use the secure built-in store. You can buy Lingon 3 from the Mac App Store.
- How do I register the license?
- Choose License... from the Lingon X menu and input the exact values you received in the confirmation mail.
- Is VAT included in the EU prices (Lingon X)?
- Yes. And if you are registered as a company in EU and has a valid VAT ID you can buy it without VAT.
- Why are some jobs gray (Lingon X)?
- Jobs that aren’t enabled are shown in a gray color and includes a small red dot to distinguish those from the ones that will run.
- How can I revert to an old version of a job (Lingon X)?
- Select a job and then choose Revert To in the File menu and then choose the date of the version that you want to revert to. This feature is path based so if you delete a job you can create a new file with the same name in the same folder and then choose an older version of the job.
- How can I run a job at the login window (Lingon X)?
- Choose LoginWindow at the LimitLoadToSessionType in Advanced and then it will run when the login window appears and there is then no need to run the job as root.
- Why can’t I change UserName (Lingon X)?
- You need to run a job as root to change the UserName field.
- How do I change the language Lingon uses?
- The language used is determined by your system setting in System Preferences - Language & Region. If you only want to change the language that Lingon X 2 uses to e.g. English you can do this by writing this command in Terminal:
defaults write com.peterborgapps.LingonX4 AppleLanguages '(en)'
- What happens if my Mac is asleep?
- If your Mac is at sleep when a job is scheduled to run, it will run directly once your Mac has been turned on again. And if it should have run multiple times during the time it was asleep it will coalesce them so it will only run once.
- How does the Info button work (Lingon X)?
- The info button shows what the saved plist will contain after the job is saved as well as the path to the file. You cannot edit the plist directly in that window.
- What does the timeline mode show (Lingon X)?
- The timeline mode shows when the jobs that has a defined date when it will run. It shows the dates one year forward from today but it does not show the times set for “Repeat interval” in Time as they cannot be accurately determined.
- Is the PATH variable set (Lingon X)?
- launchd doesn’t by default have the same PATH environment variable as e.g. Terminal. Lingon X tries to help the user by writing the PATH environment variable to the EnvironmentVariables in the job. Lingon X only writes the PATH if it hasn’t already been set. The PATH that Lingon X writes is combined from /etc/paths, the files in /etc/paths.d, the default PATH used to launch all apps, the PATH from launchctl and then /usr/local/bin and /usr/local/sbin is also added. You can turn off this behavior in Preferences.
|Lingon 3||Lingon X 4|
|Price||US$ 10||US$ 10|
|Upgrade price||US$ 7 (from any Mac App Store version or Lingon X 1 or X 2)|
|Site license||US$ 100|
|Easy to use||✓||✓|
|Run jobs automatically||✓||✓|
|Typical user||Beginner / Intermediate||Beginner / Intermediate / Advanced|
|Buy with Apple-ID||✓|
|Buy without Apple-ID||✓|
|Audited by Apple||✓|
|Run job as root||✓|
|Run job for many users||✓|
|See system jobs (read-only)||✓|
|Filter jobs in GUI||✓|
|Languages||English, Swedish||English, Chinese (Simplified), Danish, Dutch, Finnish, French, German, Italian, Japanese, Korean, Norwegian, Portuguese, Russian, Spanish, Swedish|
|Requirements||10.7 Lion or later||10.11 El Capitan or later (Lingon X 1 works on 10.8, Lingon X 2 works on 10.10)|
|EULA||Apple||Peter Borg Apps|
- Agent: start or stop the Lingon X agent to monitor the job folders even when Lingon X is not running, use the edit button to turn on or off notifications per individual job (for instance if you have one job that you don’t want notifications from)
- Automatic Help: tries to help automatically, e.g. by changing “php” to “/usr/bin/php” in Run
- Automatic PATH: includes the standard value for the environment variable PATH that otherwise isn’t included which can cause some jobs to not run
- Show internal jobs: shows Lingon X’s own jobs that is needed to e.g. authenticate as root
- Revisions: how many old versions of the job is saved to revert to from the File menu
- Added Touch Bar support
- Can now use Test as root as well
- Improved the handling of drag and drop to Run
- Fixed a possible problem when removing or disabling a job
- Fixed a possible problem when changing user for a job
- Many other small fixes and improvements
- Updated for macOS 10.12 Sierra
- Some other small fixes and improvements
- Added way to turn off agent notification per individual job in Preferences
- Some small performance improvements
- Some other small improvements and fixes
End User License Agreement for Lingon X
By using the licensed or demo version of Lingon X you agree to the following:
- Lingon X is licensed to you, not sold
- A standard license allows you to use Lingon X on up to five computers that you personally own and control
- An upgrade license can only be used if you have a previous Lingon app from Mac App Store or a license for Lingon X
- A site license can be used on an unlimited amount of computers within a single organization on the same physical site, e.g. a school or an office building
- Do not share your license information with external parties
- Comply with all applicable laws
- Be kind and considerate to others
- The copyright of Lingon X is owned by Peter Borg Apps AB and is protected by copyright laws
- Lingon X is provided “as is” and Peter Borg Apps AB expressly disclaims any warranty for it
- In no event shall Peter Borg Apps AB be liable for any damages rising out of use of Lingon X