macOS Boot Process Starts Apps

Hi all,

I’m sure someone here can answer this.

In the old days I knew how to control which apps were started up during the MacOS boot process, but now I’m at a loss to find somewhere to control this.

I have looked in Settings>Users & Groups>Login Items just in case, but the apps I’m talking about are not there and start up when the OS starts or when a User logs in. For example: Arq (backup, any user) and 1PW (only starts for a single user but is not listed in Login Items).

Can anyone point me to where these apps have told the OS to start them?

Thanks

The Arq backup engine should be listed in login items as PhotoMinds LLC.

Hmm. Not true on my computer at least. Arq, along with several other background processes, are controlled by the system launchd process. You can fiddle with that via the Terminal, I think, but a much easier way is with a utility such as LaunchControl. Arq has two such processes: a Global Agent named com.haystacksoftware.ArqMonitor, and a Global Daemon named com.haystacksoftware.arqagent.

Thanks for the tip. Very useful. I have used BBEdit and the terminal to build and enable. But have never had the overview of all processes that LaunchControl gives me.

macOS is like Windows, there’s a lot of places for startup items to hide. My notes include:

  • /private/var/run/StartupItems
  • /Library/LaunchDaemons
  • /System/Library/LaunchDaemons
  • /System/Library/StartupItems
  • /Library/StartupItems
  • /Library/Preferences/loginwindow.plist
  • ~/Library/LaunchAgents
  • ~/Library/Preferences/loginwindow.plist
  • and a bonus one described below!

(Some of these may be obsolete)

The loginwindow.plist is (was?) the one maintained by the Login Items system preference/setting.

But you may have apps that start at login, without being in any of these places, or anywhere else for that matter. How is that possible?

Unlike Windows, macOS wants each app to be fully self-contained, so that it doesn’t need to be “installed”, and you can remove it simply by deleting the app. So the new way for startup items is that they’re in the app package.

For example, in 1Password’s package, 1Password.app/Library/LoginItems/ contains the items that can be started at login. I think that the app has to make a system call such as SMAppService.mainApp.register() to register the login item; that’s what happens when you use an app’s preference to say you want it to start at login or not.

I’ve also noticed that these are the kind of apps that do not reliably auto-start. Typically the problem is on the first restart after a macOS update. But there’s no consistency, and some apps seem to have more trouble than others.

2 Likes