Bagaimana saya bisa mengatur variabel lingkungan untuk aplikasi GUI di OS X Mavericks?

19

Saya telah berjuang untuk mendapatkan aplikasi untuk berjalan di OS X Mavericks. Saya akhirnya bisa menjalankannya dengan mengebor bundel .app dan menjalankan skrip shell secara langsung. Tampaknya JAVA_HOME perlu diatur. Jadi saya mengaturnya di profil saya di shell, dan semuanya berfungsi dengan baik.

Namun, jika saya hanya ingin mengklik ikon di dok, itu tidak akan berjalan. Dugaan saya adalah ini karena JAVA_HOME tidak disetel secara global. Karena saya tidak menjalankan aplikasi langsung dari shell, OS X tidak tahu apa itu JAVA_HOME. Itu hanya terus mencari.

Pada versi OS X sebelumnya, tampaknya variabel lingkungan dapat diatur untuk aplikasi GUI hanya dengan menambahkannya ke /etc/launchd.conf. File ini sepertinya tidak ada di Mavericks. Bagaimana saya bisa mengatur variabel lingkungan global yang akan berfungsi untuk aplikasi GUI di Mavericks?

pengguna1015721
sumber

Jawaban:

24

/etc/launchd.conf tidak pernah ada secara default, tetapi masih berfungsi di 10.9.

  1. Jalankan misalnya sudo nano /etc/launchd.conf.
  2. Tambahkan garis seperti setenv JAVA_HOME /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home. (Aku tidak tahu apa yang JAVA_HOMEseharusnya diatur.)
  3. Mulai ulang atau jalankan launchctl < /etc/launchd.conf; sudo launchctl < /etc/launchd.confdan luncurkan ulang proses.

launchctl exportmencetak variabel yang diekspor oleh proses launchd pengguna dan sudo launchctl exportmencetak variabel yang diekspor oleh proses root launchd.

Metode ini juga dapat digunakan untuk menetapkan jalur default. Misalnya saya telah menambahkan baris ini ke /etc/launchd.conf:

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

(Saya menggunakan /Users/lauri/binbukan ~/binkarena ~/binakan /var/root/binuntuk program dijalankan sebagai root.)

Lri
sumber
5
+1 untuk menjelaskan cara mendapatkan perubahan /etc/launchd.conftanpa memulai ulang sistem. Untuk mengkonfigurasi file variabel lingkungan PATH di /etc/paths.d/harus digunakan.
Timo Meinen
4
Sebenarnya, /etc/launchd.conftidak berfungsi lagi setelah 10,10
OleGG