OS X MavericksでGUIアプリケーションの環境変数を設定する方法を教えてください。


19

私はOS X Mavericksでアプリを動かすのに苦労しています。私はついに.appバンドルを掘り下げてシェルスクリプトを直接実行することで実行することができました。 JAVA_HOMEを設定する必要があるようです。それで、私はそれをシェルの.profileに設定します、そしてすべてがうまくいきます。

しかし、単にドック内のアイコンをクリックしたいのであれば、それは実行されません。私の推測は、これはJAVA_HOMEがグローバルに設定されていないためです。私はシェルから直接アプリを実行していないので、OS XはJAVA_HOMEが何であるかを知りません。見ているだけです。

OS Xの以前のバージョンでは、環境変数は/etc/launchd.confに追加するだけでGUIアプリケーションに設定できたようです。このファイルはMavericksには存在しないようです。 MavericksのGUIアプリケーションで機能するグローバル環境変数を設定する方法を教えてください。

回答:


24

/etc/launchd.conf デフォルトでは存在したことはありませんが、10.9ではまだ機能します。

  1. 例えば走る sudo nano /etc/launchd.conf
  2. のような行を追加する setenv JAVA_HOME /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home。 (私は何を知りません JAVA_HOME 実際にはに設定する必要があります。)
  3. 再起動または実行 launchctl < /etc/launchd.conf; sudo launchctl < /etc/launchd.conf そしてプロセスを再起動します。

launchctl export ユーザーのlaunchdプロセスによってエクスポートされた変数を印刷します。 sudo launchctl export ルートのlaunchdプロセスによってエクスポートされた変数を表示します。

このメソッドは、デフォルトパスを設定するためにも使用できます。たとえば、私はこの行をに追加しました /etc/launchd.conf

setenv PATH /Users/lauri/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/libexec:/usr/texbin

(私が使った /Users/lauri/bin の代わりに ~/bin なぜなら ~/bin だろう /var/root/bin プログラムがrootとして実行される場合


5
の変更方法を説明するための+1 /etc/launchd.conf システムを再起動せずにPATH環境変数ファイルを設定する /etc/paths.d/ 使用すべきです。
Timo Meinen

3
実は /etc/launchd.conf 10.10以降は動作しなくなります
OleGG
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.