2010-02-25 10 views
5

Utilizo Emacs de forma remota utilizando X-Server en un cliente de Windows y en un servidor Linux. Noté que puedo detenerlo usando ctrl-z y luego escribo fg 1 para que vuelva a funcionar. ¿Hay alguna manera de que logre que se detenga en la máquina en la que estoy y luego iniciar sesión en una máquina diferente y comenzar donde lo dejé? Cuando comienzo una nueva sesión de ssh, el trabajo de emacs no está asociado a mi terminal. Debe haber algún modo de "robarlo".Ejecución de Emacs de forma remota entre varias máquinas

Además, tal vez haya una función de Emacs que básicamente hará lo mismo. Sin embargo, creo que cerrar y volver a abrir todos mis archivos y búferes tomaría bastante tiempo.

Respuesta

6

Ampliando la idea de usar emacsclient, se puede ver en lo que lo que alguien hizo para resolver el problema de editing a file from a different machine than where (s)he started running Emacs.

A partir de Emacs 23, puede ejecutar emacsclient in terminal windows usando la opción -nw.

Otras soluciones es posible que desee probar son de usar:

  1. gnu screen
  2. vnc

Durante años he usado pantalla para "conectar" y "desconectar" de un terminal virtual que suena como tu modelo de uso. Si tiene la capacidad de usar gráficos ... vnc es realmente genial, solo haga su trabajo en una sesión de vnc y conéctese a cualquier máquina.

Y su última idea ya está implementada por el paquete desktop (que se incluye con Emacs). Eche un vistazo a la página wiki para session management, que incluye otras alternativas al escritorio, así como complementos para que el escritorio cargue archivos de forma perezosa.

2

Puede ejecutar emacs como servidor y usar emacsclient para conectarse. Puede abrir múltiples conexiones al mismo servidor emacs, a través de ttys o X11.

Al hacer esto, C-X C-C cerrará su conexión y dejará el servidor en funcionamiento.

Una manera simple de hacer esto invocando emacs de la siguiente manera. Esto se conectará al servidor si se está ejecutando, o creará uno.

emacsclient --alternate-editor="" -c 
1

A veces voy a estar en el trabajo y tengo que salir corriendo por la puerta dejando mi sesión de Emacs como estaba. Más tarde, abriré una instancia de Emacs en la misma máquina (por lo general, usaré SSH remoto) y descubriré que tengo archivos abiertos en Emacs. Ahora las buenas noticias. Emacs le permite "robar" esos archivos usando M-x recover-this-file. Recomiendo una de las soluciones de Trey si puedes planificar el futuro. De lo contrario, puede usar esta técnica de archivo de recuperación para mantener el progreso en movimiento.

Cuestiones relacionadas