Mac OS X Lion不再识别environment.plist?

Mic*_*win 29 macos osx-lion

刚刚安装了Lion,我的PATH env变量不再由〜/ .MacOSX/environment.plist设置.有什么变化吗?似乎找不到任何关于它或如何修复的信息.有任何想法吗?

这是PLIST的内容:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>PATH</key>
    <string>/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/usr/X11/bin:/Users/mdi/bin</string>
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

LaC*_*LaC 15

使用~/.launchd.conf替代(见man launchctl).

有关详情,请参阅此答案.

  • 其实我把它拿走了.它正在工作,但它不是在shell中设置我的PATH.因此,如果我在`〜/ .launchd.conf`和`〜/ .bash_profile`中设置路径,一切都恢复正常.谢谢! (2认同)

swo*_*ing 15

我今天遇到了同样的问题.我打电话给Apple支持,在升级为高级顾问后,然后告诉她的主管,我被告知他们不再支持environment.plist,并且在Mac OS 10.7中没有正式支持的方法来定义环境变量.

  • 我想知道WTF他们这样想吗? (18认同)
  • environment.plist与Lion完美配合,它仍然在Apple的开发人员文档中引用:http://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/EnvironmentVars.html#// apple_ref/doc/uid/20002093-BCIJIJBH.我总是非常怀疑"Apple支持中的某些人"所说的话. (2认同)

小智 10

无论Apple是否正式支持这一机制,目前的技术问答技术问答QA1067仍然准确无误.但是,缺少一个重要的警告:财产清单需要采用二进制格式.Xcode 4在用于创建新的属性列表时,会发出文本格式的文件(无论文件检查器中指定的类型如何).所以你需要使用'plutil'转换保存的文件:

plutil -convert binary1 environment.plist
Run Code Online (Sandbox Code Playgroud)

或使用'defaults'写出一个新的模板文件,您可以在Xcode中编辑(保存时将遵循原始的二进制格式):

defaults write defaults write $HOME/.MacOSX/environment Root "1"
Run Code Online (Sandbox Code Playgroud)

  • 引用的文档现在在developer.apple.com上列为"已退役". (2认同)