2012-04-17 49 views
12

我始終運行的Emacs的程序,但是當我想要做的東西都有沒有辦法用emacsclient(用戶)打開文件,但有root權限?

sudo emacsclient /etc/make.conf 

因爲root使用另一個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'作爲你想要的任何文件。 – 2012-04-17 13:27:52

4

我不知道這件事直接但這裏有一個竅門

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

使用流浪漢和sudo的方法來打開/etc/passwd爲根。

您可以將它別名並直接在您的shell中使用它。

+0

問題不明確,Emacs服務器是否以root身份運行。另一個答案假定服務器以root身份運行。你的答案假定服務器運行非特權。 – ceving 2018-02-21 13:31:33

+0

我的答案適用於任何一種方式。 – 2018-02-21 19:34:17

相關問題