OS X Mavericksでアプリを実行するのに苦労してきました。ようやく、.appバンドルをドリルダウンしてシェルスクリプトを直接実行することで、実行できるようになりました。 Java_HOMEを設定する必要があるようです。シェルの.profileで設定すると、すべて正常に動作します。
ただし、ドックのアイコンをクリックするだけでは実行されません。私の推測では、これはJava_HOMEがグローバルに設定されていないためです。シェルから直接アプリを実行していないため、OS XはJava_HOMEが何であるかを知りません。見つめ続けるだけです。
以前のバージョンのOS Xでは、環境変数は/etc/launchd.confに追加するだけでGUIアプリに設定できるようでした。このファイルはマーベリックスには存在しないようです。 MavericksのGUIアプリで機能するグローバル環境変数を設定するにはどうすればよいですか?
/etc/launchd.conf
はデフォルトでは存在していませんが、10.9でも機能します。
Sudo nano /etc/launchd.conf
を実行します。setenv Java_HOME /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
のような行を追加します。 (ただし、実際にJava_HOME
を何に設定すればよいかわかりません。)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
になるので、プログラムはrootとして実行されるため、~/bin
ではなく/var/root/bin
を使用しました。)