Как изменить переменную среды PATH на OS X 10.8 Mountain Lion, которая будет видна приложениям GUI? [Дубликат]

    

У этого вопроса уже есть ответ:

    

Я пробовал все методы, о которых я слышал для настройки переменных среды в OS X 10.8, но ни один из них не работает.

Чтобы протестировать, запустите скрипт bash из приложения gui, такого как Eclipse или IntelliJ IDEA.

#!/bin/bash
set|grep PATH

Вещи, которые я тестировал и которые не работают , даже после перезагрузки:

  • /etc/paths и /etc/paths.d/something
  • /etc/launchd.conf литий> ~/.bash_profile литий>
  • ~/.MacOSX/environment.plist (бинарный диск сделан как рекомендуется)
  • running launchctl setenv PATH $PATH из командной строки, это должно было обновить PATH для приложений с графическим интерфейсом, по крайней мере для текущего сеанса. Угадайте, никаких изменений.

Кажется, что PATH всегда PATH=/usr/bin:/bin:/usr/sbin:/sbin для графических приложений.

13 голосов | спросил sorin 11 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowTue, 11 Sep 2012 19:23:10 +0400 2012, 19:23:10

3 ответа


3

Он работает, если вы вызываете приложение GUI из терминала:

PATH=/this/is/kind/of/crazy:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin /Applications/Automator.app/Contents/MacOS/Automator 

введите описание изображения здесь>> </p>

<p> Не очень приятно или удобно, но при необходимости выполняет работу. </p></body></html>

ответил nohillside 12 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 12 Sep 2012 00:02:38 +0400 2012, 00:02:38
2

Я приготовил еще одно решение, вдохновленное участником здесь , которое, надеюсь, немного менее болезненно. Откройте Automator, выберите приложение в качестве цели и выберите Execute Shell script (или что бы то ни было, на немецком языке это «Shell-Skript ausführen», как видно выше) как действие. В скрипте просто введите

launchctl setenv FOO1 bar1
[...]
launchctl setenv FOOn barn
open -a YourApplicationHere

Затем сохраните все, что захотите, и если вам нужно запустить YourApplicationHere , откройте созданное «приложение-автомат».

Я тестировал это с помощью Terminal как YourApplicationHere и видел с помощью launchctl export, что FOO действительно установлен в bar . Я надеюсь, что это работает и для других.

Наконец, если вы используете этот для переменных среды, вместо ввода текста launchctl в сценарии оболочки, вы можете просто вызвать /Users/Shared/conflaunchd.sh (который вы должны сначала создать вместе с файлом, описывающим переменные).

ответил Percival Ulysses 1 +04002012-10-01T14:04:51+04:00312012bEurope/MoscowMon, 01 Oct 2012 14:04:51 +0400 2012, 14:04:51
-1

Предположительно, launchctl предоставляет PATH к приложениям GUI. Чтобы установить путь к пути оболочки, добавьте следующее в файл оболочки rc после установки вашего пути:

launchctl setenv PATH $PATH
ответил ismail 12 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 12 Sep 2012 00:25:02 +0400 2012, 00:25:02

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132