2010-02-25 6 views
5

J'utilise Emacs à distance en utilisant X-Server dans un client Windows et un serveur Linux. J'ai remarqué que je peux l'arrêter en utilisant ctrl-z, puis tapez fg 1 pour le faire fonctionner à nouveau. Y a-t-il un moyen pour que je puisse l'arrêter sur la machine sur laquelle je suis, puis me connecter à une autre machine et commencer là où je me suis arrêté? Lorsque je démarre une nouvelle session ssh, le travail emacs n'est pas associé à mon terminal. Il doit y avoir une façon de le "voler".Exécution Emacs à distance entre plusieurs machines

En outre, il existe peut-être une fonctionnalité Emacs qui fera essentiellement la même chose. Cependant, je pense que la fermeture et la réouverture de tous mes fichiers et tampons prendraient beaucoup de temps.

Répondre

6

Développant l'idée d'utiliser emacsclient, vous pouvez regarder ce que quelqu'un a fait pour résoudre le problème de editing a file from a different machine than where (s)he started running Emacs. À partir de Emacs 23, vous pouvez exécuter emacsclient in terminal windows en utilisant l'option -nw.

Autres solutions que vous pourriez vouloir essayer sont à utiliser:

  1. gnu screen
  2. vnc

Pendant des années, j'ai utilisé l'écran pour "attacher" et "détacher" d'un terminal virtuel ressemble à votre modèle d'utilisation. Si vous avez la possibilité d'utiliser des graphiques ... vnc est vraiment génial, faites simplement votre travail dans une session vnc et connectez-vous à n'importe quelle machine.

Et votre dernière idée est déjà implémentée par le paquet desktop (qui est livré avec Emacs). Jetez un oeil à la page wiki pour session management, qui comprend d'autres alternatives à l'ordinateur de bureau, ainsi que des add-ons pour le bureau pour charger des fichiers paresseusement.

2

Vous pouvez exécuter emacs en tant que serveur et utiliser emacsclient pour vous y connecter. Vous pouvez ouvrir plusieurs connexions au même serveur emacs, via ttys ou X11. Dans ce cas, C-X C-C fermera votre connexion et laissera le serveur en cours d'exécution.

Une manière simple de le faire en appelant emacs comme suit. Cela va se connecter au serveur si celui-ci est en cours d'exécution ou en créer un.

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

Parfois, je serai au travail et je devrais courir à la porte en laissant ma session Emacs comme elle était. Plus tard, je vais ouvrir une instance d'Emacs sur la même machine (en utilisant généralement SSH à distance) et trouver que j'ai des fichiers ouverts dans Emacs. Maintenant les bonnes nouvelles. Emacs vous permet de "voler" ces fichiers en utilisant M-x recover-this-file. Je recommande l'une des solutions de Trey si vous pouvez planifier à l'avance. Si ce n'est pas le cas, vous pouvez utiliser cette technique de récupération de fichier pour continuer à progresser.

Questions connexes