在多台计算机之间远程运行Emacs

时间:2010-02-25 00:31:16

标签: emacs concurrency remote-access

我在Windows客户端和Linux服务器中使用X-Server远程使用Emacs。我注意到我可以使用ctrl-z暂停它,然后键入fg 1以使其再次运行。有没有办法可以让它停在我所在的机器上,然后登录到另一台机器并从我离开的地方开始?当我启动新的ssh会话时,emacs作业与我的终端没有关联。必须有一些“偷”它。

此外,也许有一个Emacs功能基本上会做同样的事情。但是,我认为关闭并重新打开所有文件和缓冲区需要一段时间。

3 个答案:

答案 0 :(得分:6)

扩展使用emacsclient的想法,您可以查看某人为解决editing a file from a different machine than where (s)he started running Emacs问题所做的工作。

从Emacs 23开始,您可以使用-nw选项运行emacsclient in terminal windows

您可能想要尝试的其他解决方案是:

  1. gnu screen
  2. vnc
  3. 多年来,我一直使用屏幕从虚拟终端“附加”和“分离”,这听起来像你的使用模式。如果你有能力使用图形... vnc真的很棒,只需在vnc会话中完成工作并连接到任何机器。

    您的最后一个想法已经由包desktop(与Emacs捆绑在一起)实现。看一下session management的wiki页面,其中包括桌面的其他替代方案,以及桌面加载到懒人加载文件的附加组件。

答案 1 :(得分:2)

您可以将emacs作为服务器运行,并使用emacsclient连接到它。您可以通过ttys或X11打开与同一emacs服务器的多个连接。

执行此操作时,C-X C-C将关闭您的连接,并使服务器继续运行。

通过调用emacs执行此操作的简单方法如下。如果服务器正在运行,它将连接到服务器,或者创建一个服务器。

emacsclient --alternate-editor="" -c

答案 2 :(得分:1)

有时我会在工作,不得不跑出门离开我的Emacs会话。稍后,我将打开一个Emacs实例到同一台机器(通常使用远程SSH)并发现我在Emacs中打开了文件。现在好消息。 Emacs允许您使用M-x recover-this-file“窃取”这些文件。如果您可以提前计划,我建议使用Trey的解决方案之一。如果没有,您可以使用此恢复文件技术来保持进度。