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.
It has many 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 Lingon X 6 ↓
Free to download and try out, then you can choose to buy it or not.
Buy Lingon X 6 →
It is a one-time fee for this release and there is no subscription.
New in Lingon X 6
Lingon X 6 is the best ever Lingon and has many new features and improvements
- Dark mode (only in 10.14)
- Log - see the log for each job
- Tree view - see jobs listed hierarchically
- See the login items from System Preferences and some of the apps
- Improved accessibility support, preferences and user interface
- Added way to edit system jobs (see FAQ for more information)
- Added way to uninstall the internal helper tools
- Optimized for High Sierra
- Many, many other small improvements and bug fixes
Two major 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.
Lingon X versions
|10.13+||Lingon X 6||Get license|
|10.12||Lingon X 5||A license bought today works with X 5 as well|
|10.11||Lingon X 4||See note just below|
|10.10||Lingon X 2||See note just below|
|10.8-10.9||Lingon X 1||See note just below|
- How can I get a license for an earlier version?
- You can only buy a license for the latest version but if you need a license for an earlier version you can get it by following these two steps:
- First get a license for the latest version from the store (and you can of course keep this license for when/if you upgrade your macOS)
- Then send a mail to us with the receipt number and the version that you want the license for. We will then generate a license for you and send it to you.
(Earlier versions do not include all features listed on this site.)
Buy Lingon 3 for $4.99 in Mac App Store →
Lingon 3 requires macOS 10.7 or later.
Here are two ways you can 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 (for instance 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 only for you by default but you can change that under Kind to for instance run the job as a root daemon and then it will start directly when the Mac starts and before any user logs in (Lingon X)
- Choose when you want it to run and if you want it to restart after a crash. And in Lingon X you can also choose many other settings
- Click Save to save the job and load it
See Settings for more info about the options you can choose
- If this is unchecked, it will stop the job and the job will never run until it is checked
- You can choose to run your jobs for either only yourself, for every user when they log in or as a root daemon which means that it will run directly when you Mac starts. 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
- Here you can choose when your job should run
- At startup and when saving: starts the job when you save it and when you login or start the computer
- Launch again if it crashes: 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)
- A volume is mounted: starts the job whenever a volume/disk is mounted
- Scheduled: 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)
- 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 Launch again if it crashes setting in When (it is only active if that setting under When is turned on)
- 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 for instanced 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 a root daemon)
- 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 for instance 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 recently bought a license for Lingon X 5, can I upgrade for free to Lingon X 6?
- A license bought on or after March 15, 2018 also works with Lingon X 6 and you can use that license directly. If you have bought a license before that date you need to buy an upgrade license to use Lingon X 6.
- Why does it ask if Lingon X would like to control the application System Events during first launch in 10.14 Mojave?
- Because of new security measures in 10.14 Mojave every app needs to ask the user for permission to use certain features. Lingon X uses the “System Events” app to handle some Login Items and if you do not allow this you will not see those Login Items, otherwise Lingon X will function as normal. You can change this setting later in System Preferences - Security & Privacy - Privacy - Automation.
- Why does it ask about “access” in 10.14 Mojave when running an app or a script?
- Because of new security measures in 10.14 Mojave the user needs to allow accessing certain data or features. You can change this setting later in System Preferences - Security & Privacy - Privacy - Automation.
- I cannot update my app, what is wrong?
- Because of security measures in macOS Sierra and later 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 Log feature work?
- When you use the Log feature for an applicable job, Lingon X tries to filter the system logs for that job and show it to you. It can take a while to process the logs and make sure that you use a unique name for your job to make sure that it can find the appropriate log items. You can also change the time span that it should look for (longer time spans may not show all results for that period) and filter and sort the result. And you are not an administrator you will be asked to authenticate as one to be able to fetch the log.
- How does the agent work and why do I get a notification?
- By default when you start Lingon X 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 click “Show” in the notification to show the job in Lingon X. See Preferences - Notifications how you can turn off the agent completely or for individual jobs.
- 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.
- What happened to Lingon X 3?
- To avoid confusion between Lingon X 3 and the Mac App Store Lingon 3 Lingon X 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 daemon” under Kind. In Lingon 3 there is no way to run it directly as root to comply with Mac App Store rules.
- Why doesn’t my job run?
Usually when a job doesn’t run it is because the underlying system process (launchd) 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. And if your job uses relative paths you can set the WorkingDirectory under Advanced so that all files can be found.
As a final possible solution you can use this in “Run”:
/bin/sh -c "your command here"
- 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, for instance to quit Mail write this in Run:
/usr/bin/osascript -e 'tell application "Mail" to quit'
- How can 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?
- 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?
- 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?
- 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. To delete all old revisions you can delete this file:
~home folder~/Library/Application Support/Lingon X/Revisions.plist
- How can I run a job at the login window?
- 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 a root daemon.
- Why can’t I change UserName?
- You need to run a job a root daemon 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 uses to for instance English you can do this by writing this command in Terminal:
defaults write com.peterborgapps.LingonX6 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?
- For most jobs the Info button shows what the saved plist will contain after the job is saved if it is edited. If the job is not edited, it shows what the file contains on the disk. The popover also shows the path to the file. You cannot edit the plist directly in that window. For Login Items it shows the name, the path that will open and what sort of path it is.
- Is the PATH variable set?
- launchd doesn’t by default have the same PATH environment variable as for instance 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 and then /usr/local/bin and /usr/local/sbin are also added. You can turn off this behavior in Preferences.
- How are “weekdays” and “weekends” defined?
- Lingon X uses your system settings to know what days a job should run when set it to run on weekdays or on weekends.
- How does Notes work?
- Lingon X makes it possible for you to save a note for each job, even system jobs that can’t normally be edited. To do it you just select a job and then under Notes write your note and it will auto save. The notes are saved in the home folder so they are accessible only for that user. To delete all notes, you can delete this file:
~home folder~/Library/Application Support/Lingon X/Notes.plist
- How can I run a job directly when the Mac boots?
- Create a new job and then choose “root daemon” under Kind and then the job will start directly when the Mac boots and no user needs to have logged in.
- What does the different view modes show?
- Grid - Lingon X tries to find the icon for what should run and displays it. If the job is disabled, its color will change and a disabled icon will show instead of the normal icon.
- Tree - The jobs are listed hierarchically and also shows how many jobs each kind contains so that one can get an overview. To show all the jobs for a particular kind, one needs to expand that item.
- List - Lists all jobs and one can sort all the jobs with each column. One can also hide columns from the View menu or by ctrl-clicking on the table header.
- Timeline - It shows when the jobs that has a defined date will run (if a job has a repeat interval set it is shown at the top with its interval). The timeline shows dates up to one month from the current time.
- What Login Items are shown?
Lingon X shows the login items that are shown in System Preferences - Users & Groups and these can be deleted but otherwise not modified.
Lingon X also tries to show apps from the Applications folder that include its own login items. These jobs cannot be deleted or turned off from Lingon X. You need to open its app to change that setting, if you select the login item in Lingon X you can choose Reveal in Finder from the File menu to open the app and change the setting.
- Can I edit system jobs?
Not by default, you can however see and study Apple’s system jobs (the ones in /System/Library/) by enabling System from the View menu.
In Lingon X 6 you can turn on a special mode to edit system jobs but please be aware that it is not recommended. Here is how you do it:
- Turn on System in the View menu
- Quit Lingon X and in the Terminal app run this command on one line:
defaults write com.peterborgapps.LingonX6 IWantToEditSystemJobsAndIUnderstandTheRisksAndITakeFullResponsibility -bool true
- Turn off SIP by following the instructions here
|Lingon 3||Lingon X 6|
|Price||US$ 4.99||US$ 14.99|
|Upgrade price||US$ 9.99 (from any bought version of Lingon)|
|Site license||US$ 99.99|
|Easy to use||✓||✓|
|Buy with Apple-ID||✓|
|Buy without Apple-ID||✓|
|Audited by Apple||✓|
|Notarized by Apple||✓|
|Run job as root||✓|
|Run job for many users||✓|
|System jobs||✓ FAQ|
|Languages||English, Swedish||English, Arabic, Chinese (Simplified), Chinese (Traditional), Danish, Dutch, Finnish, French, German, Greek, Hebrew, Italian, Japanese, Korean, Norwegian, Portuguese, Russian, Spanish, Swedish|
|Requirements||10.7 Lion or later||10.13 High Sierra (see other versions for earlier versions|
|EULA||Apple||Peter Borg Apps|
Preferences (Lingon X)
- Automatic: Help - tries to help automatically, for instance by changing “php” to “/usr/bin/php” in Run
- Automatic: PATH - includes your value from the system for the environment variable PATH that otherwise isn’t included which can cause some jobs to not run
- Revisions - how many old versions of the job is saved internally so that you can revert to an old version from the File menu, set it to 0 if you don’t want any saved
Agent: Run - turn on or off the Lingon X Agent that runs all the time in the background to monitor the job folders for any changes even when Lingon X is not running. If the agent is running you can in the table turn on or off notifications for each individual job, for instance if you have one job that you don’t want notifications from. How the notification is presented is decided by the setting for Lingon X Agent in System Preferences - Notifications.
If you want to exclude many jobs that change their names but have the same prefix you can to that by editing this file:
~home folder~/Library/Application Support/Lingon X/Exceptions.plist
in a text editor. Insert a new key there called ExceptionsPrefix and an array with prefix names, for instance:
and then every job that has a name with any of those prefixes will be excluded.
Here you switch between different themes to change the font and colors used for instance when editing a plist. At the moment you cannot change the themes.
- Internal helper tools: Show - decides whether or not to show the tools that Lingon X uses for the user to authenticate as an administrator
- Internal helper tools: Uninstall - this button uninstalls the tools for the current Lingon X from /Library/LaunchDaemons and /Library/PrivilegedHelperTools
- Folders: Lingon X is a sandboxed app which means that it can only read from a few default folders. If you have symlinked plist job files from other folders you need to add them here to allow Lingon X to read and write to those files.
- Added way to change between font and color themes for text in Preferences
- Fixed a possible problem with showing Login Items
- Some small fixes and improvements
- Improved dark mode (dark mode now only available in 10.14)
- Updated for 10.14
- Improvements to all sheets
- Many small fixes and improvements
- Added “days” as a unit in Repeat interval
- A bit faster
- Fixed a possible problem when changing Kind for a job
- Some small fixes and improvements
- Added way in Preferences - Advanced to use symlinked jobs from non-default folders
- Fixed a possible issue when using dark mode
- Some small fixes and improvements
- Made the toolbar customizable
- Added find and replace to text views like Info and Edit Plist with Command-F
- One can now change the selected job with the arrow keys on the keyboard
- Improvements to Timeline mode
- Improved accessibility support
- Fixed an issue where it could forget which job was selected
- Some small fixes and improvements
- First release
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, for instance 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