从 OS X Mountain Lion 中的 emacs 和 Cocoa 应用程序访问 Unix 环境

FCo*_*FCo 5 unix emacs cocoa osx-mountain-lion macos

我在我的 mac 上使用 emacs,我使用自制软件安装了 emacs 的 Cocoa 版本。一个问题是,为了查看“Unix 路径”,我必须将路径从 复制.profile.MacOSX/environment.plist

我在我的 .profile 中这样做:

# PATH for emacs and cocoa apps
/etc/profile begin
if [ -x /usr/libexec/path_helper ]; then
  eval `/usr/libexec/path_helper -s`
  defaults write $HOME/.MacOSX/environment PATH "$PATH"
fi
Run Code Online (Sandbox Code Playgroud)

这曾经有效,但当我安装 Mountain Lion 时它停止工作。我找不到任何说明他们在此版本上对其进行了更改的手册。

有谁知道如何从 Mountain Lion 上的可可应用程序查看 unix 路径?

slh*_*hck 4

正式回答这个问题:可能.MacOSX/environment.plist不再起作用(?)或者至少不可靠。它从来不适用于 Spotlight 推出的应用程序。但它已记录在案:运行时配置指南:环境变量

另一种方法是使用launchctl,这将使 GUI 应用程序可以访问环境变量。例如,这会将您的 shell 复制PATH到环境中:

launchctl setenv PATH $PATH
Run Code Online (Sandbox Code Playgroud)

对于任何更改$PATH,您将必须重新启动受影响的应用程序。如果使用上述语法,则不需要重新启动。但是,如果您更改/etc/launchd.conf,则需要重新启动。另请参阅:在 OS X 中设置环境变量?- 堆栈溢出