Recently I found something interesting: Setting environment variables for user processes. If you are an old Unix hand, your first reaction was probably like mine: Huh? What's the big deal: set whatever you want in /etc/profile or ~/.bash_profile.
Ah, but we forget: Mac OS X isn't entirely a traditional Unix system: processes don't necessarily start from a shell. The initial login is LoginWindow, which starts up the Dock and Finder.. what if you want a non-shell app to have an environment variable set?
Well, as the TechNote article describes, it's not very hard: you just need to create ~/.MacOSX/environment.plist for the user and populate it appropriately. They give a simple example at that link.
But why would you need to do this? Maybe for an app of your own design, but you'd have control of that anyway. Why would you want to set variables for other Mac apps?
The answer is debugging. Many Mac apps and system services are controlled by preference files or the mere existence of some particular file, but others trigger debugging or other actions because of environment variables. Of course a lot of that is detailed at the Developer Connection in Technical Note TN2124 Mac OS X Debugging Magic.
Apple's Developer Connection is full of helpful stuff like that. It's definitely not "for developers only".
Got something to add? Send me email.
(OLDER) <- More Stuff -> (NEWER) (NEWEST)
Printer Friendly Version
Increase ad revenue 50-250% with Ezoic
Inexpensive and informative Apple related e-books:
Take Control of the Mac Command Line with Terminal, Second Edition
Take Control of Apple Mail, Third Edition
Take Control of Numbers
Take Control of Upgrading to Yosemite
Take Control of Upgrading to Sierra