2012-04-17 18 views
12

zawsze uruchamiać emacs jak demon, ale gdy chcę zrobić coś alikeCzy istnieje sposób otwarcia pliku za pomocą emacsclient (użytkownik), ale z uprawnieniami administratora?

sudo emacsclient /etc/make.conf 

nie mogę zrobić, bo korzeń jest za pomocą innego emacs i tak naprawdę nie chce uruchomić 2 demonów lub poczekać zwyczajowe emacsowi załaduj dla prostego pliku.

Potrzebuję rozwiązania podobnego do emacsclientsudo /etc/make.conf :) do edycji plików systemowych za pomocą klienta emacs użytkownika.

Odpowiedz

18

dodać do ~/.profile:

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

następnie

E /etc/hosts 

Powinieneś być w stanie wykorzystać sudoedit zamiast sudo -e, ale nie mogłem znaleźć tej pierwszej na moim Macu.

+2

Schludny. Myślę, że możesz po prostu ustawić SUDO_EDITOR w swoich skryptach init i bezpośrednio wywołać 'sudo -e' lub' sudoedit' na dowolnym pliku, który chcesz. –

4

nie jestem pewien o tym bezpośrednio, ale tu jest podstęp

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

Używa tramp i metody sudo aby otworzyć /etc/passwd jako root.

Możesz to zrobić i użyć go bezpośrednio ze swojej powłoki.

+0

Pytanie nie jest jasne, czy serwer Emacs działa jako root, czy nie. Druga odpowiedź zakłada, że ​​serwer działa jako root. Twoja odpowiedź zakłada, że ​​serwer jest nieuprzywilejowany. – ceving

+0

Moja odpowiedź działa tak czy inaczej. –

Powiązane problemy