One of the easiest ways to slow down your Mac is by overloading on launch applications. After a year or so, you might not even realize what apps are starting in the background. While apps like Spotify jump up front and center when they launch, alerting the user, other apps are happy to chug away in the menubar with nary a user interaction for months. If you find that your Mac doesn’t start as quickly as it used to, or your mouse is non-responsive when first turning on and logging in to your computer, you should check for unnecessary launch items. Stop these programs from running on startup, and you might speed up your Mac’s launch process significantly.
The Easy Ways: Login Items
Apps can start at login through two obvious ways: they are launched by the system at login, or the program automatically adds itself to the login items.
1. Open System Preferences, then navigate to “Users & Groups.”
2. Choose the user you want to modify in the list, and click the “Login Items” tab.
3. Select the app you want to remove from login, and press the “—” at the bottom of the list.
For apps that control their startup behavior from within the app, you’ll want to visit the app directly. Look for an item in the app’s preferences about starting at login. Uncheck that box, and the app will not run at login in the future.
This app-controlled behavior isn’t preferred by the operating system, but it isn’t completely uncommon with advanced apps or menubar apps. In most cases these boxes control whether or not the app is added to the launchd processes mentioned below. Removing those processes from launchd without telling the app will often just result in their reinstallation the next time the app opens.
The Hard Way: Agents and Dæmons
Login processes can also be started using launchd. This service runs in the background, firing off windowless processes when you log in. An agent runs on behalf of the logged-in user, while a daemon runs under the root user.
In most cases you’ll be looking for agents, which are found in “~/Library/LaunchAgents” and run on behalf of the logged-in user. “/Library/LaunchDaemons” holds daemons that run with root permissions. If your app backs up files or adjusts system processes, it could be stored in this location instead.
The easiest way to eliminate launch processes is by removing every trace of an application. You can delete the app and all its accessory files using a tool like AppCleaner, or searching through the “~/Library” folder for the application’s name and developer’s name.
If you can’t turn off the agent through the app and can’t find the daemon on your hard drive, you can remove it from launchctl directly. However, if the app is still installed on your Mac, it will likely be reinstalled on next launch. So, in general, you want to remove processes after uninstalling the application.
To see what’s currently running in the background, run
launchctl list in Terminal. Search through this list with the
grep command for a process with the offending application’s name.
Once you’ve found the app, you can remove it from launchctl using the unload command.
Once you’ve found and unloaded the application from launchctl, delete the associated plist file and any scripts the plist file references.
The simplest way to remove the application from startup is through the application itself. If that setting doesn’t exist, the Users & Groups preference pane should be your next step. Only if both fail should you explore the harder options.