Як можна встановити змінні середовища для програм GUI в OS X Mavericks?


19

Я намагаюся отримати додаток для запуску в OS X Mavericks. Нарешті я зміг змусити його запустити, пробуривши пакет .app та запустивши сценарій оболонки безпосередньо. Здається, що JAVA_HOME потрібно було встановити. Тому я встановив його у своєму .profile в оболонці, і все працює добре.

Однак якщо я хочу просто натиснути піктограму в доці, вона не запуститься. Я думаю, що це тому, що JAVA_HOME не встановлений у всьому світі. Оскільки я не запускаю додаток безпосередньо з оболонки, OS X не знає, що таке JAVA_HOME. Це просто продовжує шукати.

У попередніх версіях OS X здається, що змінні середовища можна встановити для додатків графічного інтерфейсу, просто додавши їх до /etc/launchd.conf. Схоже, цей файл не існує в Mavericks. Як я можу встановити глобальну змінну середовища, яка буде працювати для GUI-програм у Mavericks?

Відповіді:


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друкує змінні, експортовані процесом запуску користувача та sudo launchctl exportдрукує змінні, експортовані кореневим процесом запуску.

Цей метод також може бути використаний для встановлення шляху за замовчуванням. Наприклад, я додав цей рядок до /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без перезавантаження системи. Для налаштування /etc/paths.d/слід використовувати файли змінної середовища PATH .
Тімо Майнен

4
Насправді, /etc/launchd.confбільше не працює після 10.10
OleGG
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.