Unwanted App Launch Problem Solved, No Thanks to Apple
Recently, I discovered that a file of whose existence I previously had no clue was responsible for a mysterious phenomenon on my computer. The phenomenon was simple enough: an application I don’t use and don’t want to use (RetroRunSL, a part of Retrospect) was launching every time I logged in to my Mac. What I couldn’t figure out was why.
The problem was particularly annoying because I thought I knew quite a bit about how things get launched under Mac OS X. I’ve read the Apple Tech Note and article on the topic, and back when I was secretly helping out with MacFixIt, I even wrote an article on this very subject. Yet I had checked all the places I knew about – my Accounts preference pane’s Login Items, the LaunchAgents and LaunchDaemons folders in my Library and the top-level Library, and even the deprecated StartupItems folder in the top-level Library – but
nothing in any of them afforded any explanation.
Finally, with some help from good old EasyFind (trust Spotlight to be useless here), I discovered the answer. There can be a file in your top-level Library’s Preferences folder called com.apple.SystemLoginItems.plist. This mechanism is used by a very few specialized applications that launch on a per-user basis and want access to the Window Server, but need to launch before the user actually logs in. (Timbuktu is an example of such an application.) It is deprecated in Leopard, where you’re supposed to use a LaunchAgent instead; but some older programs still use it.
What really ticks me off about this whole affair is that it’s so typical. Mac OS X has been around for 7 years now, and yet we’re still living in this world of secret files that do secret things, with no user interface and no documentation. The former (lack of user interface) is something we’ve mostly become numbed to, though, like Joe Kissell (see “SmartSleep Solves Safe Sleep Situation“, 2008-03-15), where there are important settings that can be managed, I really don’t see why Apple doesn’t give the user a way to manage them. But the lack of documentation is unforgivable.