Emacs: vagabundo no funciona
ssh tramp (4)
¿ Habías revisado la wiki de Emacs para encontrar una solución? ssh
está en PATH
? También se recomienda usar plink
en MS Windows - ver la sección "Métodos en línea" en la documentación de Tramp
Intenté abrir un archivo remoto a través de Emacs a través de Tramp.
(require ''tramp)
(setq tramp-default-method "ssh")
Recibo un mensaje de Emacs
Vagabundo: esperando indicaciones del shell remoto
Emacs colgó y no respondió a ninguna acción después de eso
Emacs fue instalado en Windows; el archivo remoto estaba en una máquina Linux.
Por cierto, si necesitas un tramp
para sudo
, puedes sudo sin vagabundeo usando sudoedit
.
Actualmente estoy usando esta función bash:
erf () { SUDO_EDITOR="emacsclient -a emacs" sudoedit $@; }
Si la cuenta a la que se está conectando usa algún aviso extravagante de shell, entonces hay una gran probabilidad de que esto sea lo que hace que viaje.
Inicia sesión como root, luego ingresa
PS1="> "
(Es un aviso normal, de shell estándar (ZSH, BASH, younameit), uno que tramp
entenderá) luego cambia a la cuenta de usuario y .emacs
emacs -q
(para asegurarte de que tus .emacs
no están causando este desastre) y prueba a Cx Cf /sudo:root@localhost:/etc/hosts
y ver qué es qué.
Usted puede (no recomendado) también personalizar la expresión regular que define lo que espera el vagabundo:
M-x customize-variable RET tramp-terminal-prompt-regexp
Mi acercamiento :
- Asegúrese de que la variable
tramp-terminal-type
esté configurada como "tonta"
Mx customize-variable RET tramp-terminal-type
- Pruébelo en su. * Shrc y envíe el mensaje correcto:
case "$TERM" in "dumb") PS1="> " ;; xterm*|rxvt*|eterm*|screen*) PS1="my fancy multi-line /n prompt > " ;; *) PS1="> " ;; esac
Su cliente ssh de Windows es la clave aquí, y el método ''vado'' ssh ''es casi seguro que está equivocado.
Si está usando Cygwin, entonces necesita usar el método ''sshx'', y probablemente necesite usar ssh-agent para manejar la autenticación. Los detalles están aquí: ¿es posible usar vagabundo con EmacsW32 y cygwin?
Me imagino que lo mismo se aplica a cualquier cliente ssh autónomo que no requiera una instalación completa de Cygwin, pero utiliza las DLL de Cygwin. (Menciono esto, porque estoy bastante seguro de recordar haber visto algo así).
Si está usando PuTTY, entonces quiere el método ''plink'', como señaló Alex Ott. Si el Wiki no es suficiente, una search aquí probablemente arroje soluciones para configurar ese enfoque.
Otras alternativas que puedo sugerir son:
Use el Emacs nativo de Cygwin. Eso será más lento que NTEmacs, pero Tramp parece funcionar bien con el método ''ssh'', y la solicitud de contraseñas también funciona.
Aloje una máquina virtual Linux en su cuadro de Windows, y ejecute Emacs en eso. Ese es un aro bastante grande para saltar, pero es mi forma preferida de usar Tramp cuando trabajo en Windows.