2010-02-25 12 views
5

Uso Emacs in remoto utilizzando X-Server su un client Windows e un server Linux. Ho notato che posso fermarlo usando ctrl-z e quindi digitare fg 1 per farlo funzionare di nuovo. C'è un modo in cui potrei farlo arrestare sulla macchina in cui mi trovo, e quindi accedere a una macchina diversa e iniziare da dove avevo interrotto? Quando avvio una nuova sessione ssh, il lavoro emacs non è associato al mio terminale. Ci deve essere in qualche modo "rubarlo".Esecuzione da remoto di Emacs tra più macchine

Inoltre, forse c'è una funzione di Emacs che farà praticamente la stessa cosa. Tuttavia, penso che chiudere e riaprire tutti i miei file e buffer richiederebbe un po 'di tempo.

risposta

6

Ampliando l'idea di utilizzare emacsclient, si può guardare a ciò che ciò che qualcuno ha fatto per risolvere il problema di editing a file from a different machine than where (s)he started running Emacs.

A partire da Emacs 23, è possibile eseguire emacsclient in terminal windows utilizzando l'opzione -nw.

Altre soluzioni si potrebbe desiderare di provare sono da utilizzare:

  1. gnu screen
  2. vnc

Per anni ho usato schermo per "collegare" e "staccare" da un terminale virtuale che suona come il tuo modello di utilizzo. Se hai la possibilità di utilizzare la grafica ... vnc è davvero eccezionale, basta fare il tuo lavoro in una sessione di vnc e connetterti a qualsiasi macchina.

E la tua ultima idea è già implementata dal pacchetto desktop (che è in bundle con Emacs). Dai un'occhiata alla pagina wiki per session management, che include altre alternative al desktop, così come i componenti aggiuntivi per il desktop che caricano pigramente i file.

2

È possibile eseguire emacs come server e utilizzare emacsclient per connettersi ad esso. È possibile aprire più connessioni allo stesso server emacs, tramite ttys o X11.

In tal caso, C-X C-C chiuderà la connessione e lascerà il server in esecuzione.

Un modo semplice per farlo richiamando emacs come segue. Questo si collegherà al server se ne sta eseguendo uno o ne crei uno.

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

A volte sarò al lavoro e devo correre fuori dalla porta lasciando la mia sessione di Emacs com'era. Successivamente, aprirò un'istanza di Emacs sulla stessa macchina (di solito usando SSH remoto) e scoprirò che ho i file aperti in Emacs. Ora le buone notizie. Emacs ti permette di "rubare" quei file usando M-x recover-this-file. Raccomando una delle soluzioni di Trey se puoi pianificare in anticipo. In caso contrario, è possibile utilizzare questa tecnica di recupero per mantenere in movimento i progressi.

Problemi correlati