Osx

如何設置 OSX 應用程序使用的路徑

  • January 21, 2016

我正在執行 Mountain Lion 10.8.4,並且我的環境全部通過自定義,~/.profile以便當我從命令行執行Sublime Text或 Eclipse等 GUI 應用程序時

open /Applications/Sublime\ Text\ 2.app

他們繼承了我的$PATH設置,允許應用程序執行不在 OSX 非常有限的預設路徑中的外部命令。但是,我真的希望能夠通過 Finder 或 Dock 打開程序,並為它們提供與我在命令行中使用的相同的路徑。launchctl setenv PATH $PATH在 10.8 中不起作用。我該如何設置?

筆記

這不再適用於更新版本的 OS X,包括 10.10 Yosemite(我不確定 10.9 Mavericks)。但是,它確實適用於 10.8 Mountain Lion。

這實際上並不太難,但您確實需要具有管理員權限(使用sudo命令寫入/etc)。

  1. 從終端(或您最喜歡的替代品),查看文件中是否有任何內容/etc/launchd.conf
cat /etc/launchd.conf

如果您收到類似的錯誤

cat: /etc/launchd.conf: 沒有這樣的文件或目錄

然後繼續下一步。如果該cat命令確實顯示了一些內容,請複制它。 2. 確定係統的目前路徑,因為我們需要確保稍後包含它:

launchctl getenv PATH
  1. 在您喜歡的編輯器中,創建一個包含以下內容的新文本文件,並根據您的需要進行修改:
setenv PATH /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/Users/YourUserName/bin:/path/to/gems/bin

確保您已包含上一步中路徑的全部內容,否則您將破壞您的系統。

如果cat步驟 1 中的命令顯示了一些內容,請將其粘貼到命令之前的新文件中setenv PATH。如果它已經包含一個setenv PATH命令,只需修改它以添加您需要的額外目錄。 4. 將您的主目錄( /Users/YourUserName) 中的新文件另存為launchd.conf. 5. 返回終端並輸入:

sudo mv ~/launchd.conf /etc

使用管理員權限將新文件移動到/etc替換之前的任何內容。根據您之前對該sudo命令的使用,您可能會收到一條簡短的“小心做您正在做的事情”的消息,但無論哪種方式,您都需要輸入密碼。/etc除非您是真正的高級使用者並且知道如何繞過 OSX 的文件系統限制,否則無法通過圖形編輯器的“保存”對話框直接訪問。 6. 重新啟動電腦

你應該準備好了。如果你有興趣,launchd並且launchctl使用csh/tcsh語法,那麼你不能使用bash/zsh export PATH=/usr/local/bin:...格式。

引用自:https://unix.stackexchange.com/questions/89076