2010-12-27 16 views
3

私はSnow Leopardを実行していて、起動時に(getenv "PATH")の出力はTerminal.appの出力がecho $PATHと同じであるように、Emacsを実行しようとしています。

つまり、私は/Applications/Emacs.appからEmacsを起動し、私の$PATHで開始したいと思います。私はemacsの中でこれをどうやってやっているのか、emacsをどうやって始めるのか分かりませんでした。だから私はPlatypusAppifyのようなもので包むことができるシェルスクリプトを思いつくために努力しました。

だから私が今持っている最も近いものがある:-iフラグにもかかわらず、私の$ PATHをnohupを捨てているようですので、失敗し

echo MYPASSWD | sudo -S -u USERNAME -i nohup /Applications/Emacs.app/Contents/MacOS/Emacs > /dev/null & 

。無駄にも、私はAppleScriptの中do shell scriptを介してこれを実行してみた

echo MYPASSWD | sudo -S -u USERNAME -i open /Applications/Emacs.app/Contents/MacOS/Emacs > /dev/null & 

:以下は私のPATHを捨てるが、余分Terminal.app開きません。

何か基本的なものがありませんか?これは難しいはずのようではありません。ありがとう!あなたを可能にしなければならない/パス/に/ /プログラム

:あなたはそれがこの

輸出PATH = $ PATHのようなものになるだろうように.appの場所へのパスをエクスポートする必要が

答えて

2

私はplistを維持したくないので、少し前にenvの出力を解析してEmacs環境に適用しました。コードはhttp://paste.lisp.org/display/111574です。

+0

素晴らしいです。ありがとう!それは最高です - – aresnick

2

GUIアプリケーションでは、など

http://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/EnvironmentVars.html%23//apple_ref/doc/uid/20002093-BCIJIJBH~/.MacOSX/environment.plistあなたはおそらくあなたのお気に入りの同等のものを追加したい場所であることを説明し、伝統的なシェルによって起動されていないと.profile.bash_profileのような通常の場所から環境変数を継承しません$ PATH。

+0

Guhwuhh? .profileの何が問題なの?真剣に。/gripe –

+1

'.profile'と同様のものは、シェルを解析する必要があります。 – ohmantics

1

同じ問題が発生しましたが、ここで私はそれを回避しました。私は〜/ .bashrcを作成し、それに値をつけました:

source /etc/profile 
source ~/.profile 
関連する問題