An easy to use yet powerful app to run things automatically

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 is now even easier to use yet much more powerful.

Download and price

DownloadDownload Lingon X 2.0

Buy Lingon X for $10 in Lingon X Store >

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 >

Mac App Store


New in Lingon X 2

The new Lingon X 2 has many new features and improvements:


There are two main ways to use Lingon:

- Edit or delete an existing job:

  1. Select the job from the list
  2. 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:

  1. Choose New from the File menu
  2. Give the job a unique name
  3. 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
  4. 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)
  5. Choose when you want it to run and if you want it to restart after a crash check the Always checkbox
  6. 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
  7. 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 behaviour 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


Lingon 3 Lingon X 2
Price US$ 10 US$ 10
Upgrade price US$ 7 (from any Mac App Store version or Lingon X 1.0)
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
Multiple dates
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.10 Yosemite or later (Lingon X 1.0 works on 10.8 and later)
EULA Apple Peter Borg Apps


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.
How does an old license work (Lingon X)?
A license bought after the 1st of August 2014 will work directly with Lingon X 2 (if it doesn't register automatically, insert the information manually into License... in the Lingon X menu). If you have bought a license before that date you need to buy an upgrade license to use Lingon X 2.
Is there a demo version?
Download the app and you'll have all the functionality except that you can't save until you buy a license.
Why can't I open Lingon X?
Lingon X uses the new Gatekeeper feature in Mac OS X (see more here: 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. 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 Mac OS X?
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 Smultron 7 menu and input the exact values you received in the confirmation mail. If you need to change it later you can hold down the Option key when choosing License...
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 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 Smultron uses?
The language used is determined by your system setting in System Preferences - Language & Region. If you only want to change the language that Smultron uses to e.g. English you can do this by writing this command in Terminal:
defaults write com.peterborgapps.Smultron7 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. If you don't want this to happen you can turn it off by closing Lingon X and then write the following command in Terminal:
defaults write com.peterborgapps.LingonX2 AutomaticEnvPath -bool false

Release Notes

  • Added a Test button to run the job temporarily to check paths and show any possible logged errors
  • Fixed a possible problem of not changing some values when switching between jobs
  • Fixed an issue when switching between the When and Advanced views
  • Fixed an issue with the SuccessfulExit button
  • Fixed an issue with spaces in Run
  • Many other small fixes and improvements
  • A more flexible interface where everything is resizable
  • Added way to resize the jobs when in Buttons mode
  • Added SessionCreate to Advanced
  • Made running job when a volume is mounted easier by moving it under When
  • Accessibility improvements
  • Added Save menu item
  • Faster
  • Cleaned up interface
  • Many other fixes and improvements

End User License Agreement for Lingon X

By using the licensed or demo version of Lingon X you agree to the following: