Supongamos que quiero abrir un archivo en una sesión de Emacs existente usando su
o sudo
, sin desplegarme a un shell y haciendo sudoedit
o sudo emacs
. Una forma de hacer esto es
C-x C-f /sudo::/path/to/file
pero esto requiere un costoso viaje de ida y vuelta a través de SSH . ¿Hay una forma más directa?
[EDITAR] @JBB tiene razón. Quiero poder invocar su
/ sudo
guardar, así como abrir. Estaría bien (pero no es ideal) volver a autorizar al guardar. Lo que estoy buscando es variaciones de find-file
y save-buffer
que se pueden "canalizar" a través de su
/ sudo
.
emacs
file-permissions
sudo
Chris Conway
fuente
fuente
sudoedit
mención Muy útil.Respuestas:
Lo bueno de Tramp es que solo paga ese viaje de ida y vuelta a SSH cuando abre el primer archivo. Luego, Sudo almacena en caché sus credenciales, y Emacs guarda un identificador, de modo que los archivos subsiguientes abiertos con sudo tardan mucho menos tiempo.
Tampoco he encontrado el tiempo extra que lleva ahorrar cargas. Es lo suficientemente rápido, en mi opinión.
fuente
Vagabundo hace no sudo de ida y vuelta a través de SSH, utiliza un subnivel . Consulte el manual: https://www.gnu.org/software/tramp/#Inline-methods
Por lo tanto, te recomiendo que te quedes con TRAMP.
fuente
Si lo usa
helm
,helm-find-files
admite abrir un archivo como root conC-c r
.fuente
M-x helm-find-files C-c ?
que indique cómo volver al modo normal de apertura como usuario. Hacerlo deC-c r
nuevo no lo detiene.sudo -k
y luego me pide la contraseña. Reinicié Emacs y eso no eliminó el problema. Busqué.emacs.d
y encontré algunas referencias a vagabundo, así que las eliminé. Ahora parece mejor pero no estoy seguro si estoy libre de eso.Realmente no es una respuesta a la pregunta original, pero aquí hay una función auxiliar para hacer que la ruta de vagabundo / sudo sea un poco más fácil:
fuente
esk-sudo-edit
.Al menos para guardar, se escribió un paquete sudo-save exactamente para ese tipo de problema.
fuente
Su ejemplo no comienza ssh en absoluto, al menos no con mi versión de TRAMP ("2.1.13-pre"). Tanto find-file como save-buffer funcionan muy bien.
fuente
Te recomiendo que uses comandos de asesoramiento. Pon esta función en tu ~ / .emacs
fuente
ido-find-file
para buscar archivos.(funciona solo localmente. Debe actualizarse para que funcione correctamente mediante vagabundo)
Un poco más extendido la respuesta de Burton:
fuente
Ugh Quizás podría abrir un shell en Emacs y exec sudo emacs.
El problema es que presumiblemente no solo desea abrir el archivo. Desea poder guardarlo más tarde. Por lo tanto, necesita que sus privilegios raíz persistan, no solo existan para abrir el archivo.
Parece que quieres que Emacs se convierta en tu administrador de ventanas. Está lo suficientemente hinchado sin eso. :)
fuente