2012-04-17 12 views
12

corro sempre emacs come demone, ma quando voglio fare qualcosa di simileC'è un modo per aprire il file con emacsclient (utente) ma con il permesso di root?

sudo emacsclient /etc/make.conf 

non posso farlo perché radice sta usando un altro emacs e non ho molta voglia di correre 2 demoni o attendere emacs usuali caricare per file semplice.

Ho bisogno di qualche soluzione allo stesso modo emacsclientsudo /etc/make.conf :) per modificare i file di sistema con il client utente emacs.

risposta

18

aggiungere al vostro ~/.profile:

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

poi

E /etc/hosts 

si dovrebbe essere in grado di utilizzare al posto di sudoeditsudo -e, ma non riuscivo a trovare l'ex sul mio Mac.

+2

Neat. Penso che tu possa semplicemente impostare SUDO_EDITOR negli script di init e chiamare direttamente 'sudo -e' o' sudoedit' su qualunque file tu voglia. –

4

non sono sicuro su di esso direttamente, ma qui è un trucco

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

Utilizza vagabondo e il metodo sudo per aprire /etc/passwd come root.

È possibile creare un alias e usarlo direttamente dalla shell.

+0

La domanda non è chiara, se il server Emacs viene eseguito come root oppure no. L'altra risposta presuppone che il server sia eseguito come root. La tua risposta presuppone che il server funzioni senza privilegi. – ceving

+0

La mia risposta funziona in entrambi i modi. –

Problemi correlati