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

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

我在 Mac 上使用 emacs,我使用 homebrew 安装 Cocoa 版本的 emacs。有一个问题是,为了看到“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

以前这个功能还可以用,但是当我安装 Mountain Lion 时它就停止工作了。我找不到任何手册说他们在这个版本上做了更改。

有人知道如何从 Mountain Lion 上的 cocoa 应用程序中查看 unix 路径吗?

答案1

正式回答这个问题:它可能.MacOSX/environment.plist不再起作用(?)或至少不可靠。它从未对 Spotlight 启动的应用程序起作用。但有记录:运行时配置指南:环境变量

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

launchctl setenv PATH $PATH

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

相关内容