On Dec 16, 2015, at 15:47, Rick Mann <rm...@latencyzero.com> wrote:

> I'm working on an OS X app that unfortunately has to call a series of bash 
> and python scripts for part of the processing it does. I was able to include 
> the scripts in my app's bundle, and invoke them there, but the environment is 
> different when launched via my app than when launched on the command line. 
> How can I best control the environment used when executing external scripts?
> 
> -- 
> Rick Mann
> rm...@latencyzero.com


If you want to have specific environment variables set for all apps launched 
regardless of how they were launched, you can use the launchd mechanism, which 
is compatible with all the latest Mac OS X releases.

You can put this file in ~/Library/LaunchAgents/local.launchdrc.plist 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
"http://www.apple.com/DTDs/PropertyList-1.0.dtd";>
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>local.launchdrc</string>
        <key>Disabled</key>
        <false/>
        <key>RunAtLoad</key>
        <true/>
        <key>ProcessType</key>
        <string>Background</string>
        <key>ProgramArguments</key>
        <array>
            <string>/Users/yourusername/.launchdrc</string>
        </array>
        <key>StandardErrorPath</key>
        <string>/dev/null</string>
        <key>StandardOutPath</key>
        <string>/dev/null</string>
</dict>
</plist>

Then, create ~/.launchdrc (chmod 755) that looks something like this:

#!/bin/sh
launchctl setenv ANT_HOME "/usr/local/apache-ant-1.9.6"
launchctl setenv CATALINA_HOME “/usr/local/apache-tomcat-8.0.24”

Where each environment variable you want available to all launched apps is 
listed. Add variables as needed. This will set up an environment for the user 
at login time that will get picked up by all launched apps, whether run from 
the command line or launched via Finder.

This replaces the old ~/.MacOSX mechanism where you could set environment 
variables at login.

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to