Как я попросил в здесь, я узнал, что переменная среды ПУТИ отличается в зависимости от того, как я запускаю приложение.
Используя 'aquamacs' из командной строки выполняется сверху удара, таким образом, переменная ПУТИ копируется в переменную ПУТИ в eshell.
Но, как насчет нажатия на метод значка Aquamacs? Какая переменная ПУТИ установлена, когда я нажимаю приложение Mac OS X? И как переменная ПУТИ установлена таким образом?
При выполнении чего-то из командной строки она создается как дочерний процесс оболочки, которую Вы выполняете в Терминале. По сути, это наследовало свою среду от Вашей оболочки.
Работая путем двойного щелчка, это не запускается ударом, но как ребенок launchd
.
Откройте Монитор Действия и выберите "All Processes, Hierarchically" для проявления отношений родителя/дочернего процесса.
Установка переменных среды для программ, не запущенных от оболочки, обсуждена в других вопросах, таких как этот и этот.