簡體   English   中英

如何在Mac OS X上打開Emacs以使其加載我的$ PATH?

[英]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腳本,我可以用PlatypusAppify這樣的東西包裝。

所以我現在最接近的是:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM