2012-04-17 19 views
12

私は常にデーモンとしてEmacsを実行けど、私はemacsclient(user)でファイルを開くには何か方法がありますか?root権限が必要ですか?

sudo emacsclient /etc/make.conf 

似て何かをしたいとき、ルートが別のEmacsを使っているので、私はそれを行うことができないと私は本当に2つのデーモンを実行したり、通常のemacsのを待ちたくありません単純なファイルの読み込み。

私はいくつかの解決策が必要ですemacsclientsudo /etc/make.conf :)ユーザのemacsクライアントでシステムファイルを編集します。

答えて

18

があなたの~/.profileに追加します。

alias E="SUDO_EDITOR=\"emacsclient\" sudo -e" 

その後、

E /etc/hosts 

をあなたはsudoeditの代わりsudo -eを使用することができるはずですが、私は私のMac上で 元を見つけることができませんでした。

+2

ニート。私はあなたのinitスクリプトにSUDO_EDITORを設定し、あなたが望むファイルであれば 'sudo -e'か' sudoedit'を直接呼び出すことができると思います。 –

4

私はトリック

emacsclient -e '(find-file "/sudo::/etc/passwd")' 

ルートとして/etc/passwd開くように不定期とsudoの方法を使用し、直接それについてはよく分からないけど、ここです。

これをエイリアスにして、シェルから直接使用することができます。

+0

Emacsサーバがrootとして実行されているかどうかにかかわらず、質問は明確ではありません。もう1つの答えは、サーバーがルートとして実行されていることを前提としています。あなたの答えは、サーバーが特権を持たないとみなします。 – ceving

+0

私の答えはどちらの方法でも動作します。 –

関連する問題