![从 OS X Mountain Lion 中的 emacs 和 Cocoa 应用程序访问 Unix 环境](https://linux22.com/image/1324762/%E4%BB%8E%20OS%20X%20Mountain%20Lion%20%E4%B8%AD%E7%9A%84%20emacs%20%E5%92%8C%20Cocoa%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E8%AE%BF%E9%97%AE%20Unix%20%E7%8E%AF%E5%A2%83.png)
我在 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 中设置环境变量? - 代码日志