[英]How can I open Emacs on Mac OS X such that it is loaded with my $PATH?
我正在運行Snow Leopard,並嘗試運行Emacs,這樣當我啟動時, (getenv "PATH")
的輸出與echo $PATH
Terminal.app
中的輸出相同。
換句話說,我想從/Applications/Emacs.app
啟動Emacs,並從我的$PATH
開始。 我無法弄清楚如何在emacs中執行此操作,或者如何啟動emacs。 所以我花了大部分精力試圖想出一個shell腳本,我可以用Platypus或Appify這樣的東西包裝。
所以我現在最接近的是:
echo MYPASSWD | sudo -S -u USERNAME -i nohup /Applications/Emacs.app/Contents/MacOS/Emacs > /dev/null &
這失敗了,因為似乎nohup扔掉了我的$ PATH,盡管有-i
標志。 以下不會丟棄我的PATH
而是打開一個多余的Terminal.app
:
echo MYPASSWD | sudo -S -u USERNAME -i open /Applications/Emacs.app/Contents/MacOS/Emacs > /dev/null &
我試過通過在AppleScript中do shell script
來運行它,也無濟於事。
我錯過了什么基本的東西? 看起來這應該不難。 謝謝!
GUI應用程序不是由傳統的shell啟動的,也不會從.profile
, .bash_profile
等常用位置繼承環境變量。
http://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/EnvironmentVars.html%23//apple_ref/doc/uid/20002093-BCIJIJBH解釋了~/.MacOSX/environment.plist
是你可能想要添加你最喜歡的$ PATH的地方。
我剛才寫了一個小小的elisp來解析env的輸出並將它應用到Emacs環境,因為我不想維護一個plist。 代碼位於http://paste.lisp.org/display/111574 。
我遇到了同樣的問題,這就是我如何解決它。 我創建了〜/ .bashrc並用以下內容填充:
source /etc/profile
source ~/.profile
你必須將PATH導出到.app的位置,所以它會是這樣的
export PATH = $ PATH:/ path / to / the / program
這應該允許您只鍵入EMACS,它將啟動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.