2010-02-25 64 views
5

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

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

回答

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

多年来,我用屏幕以“重视”,并从虚拟终端“分离”是听起来像你的使用模式。如果你有能力使用图形... vnc真的很棒,只需在vnc会话中完成你的工作并连接到任何机器上。

而你的最后一个想法已经通过包desktop(与Emacs捆绑在一起)实现。看看session management的wiki页面,其中包括桌面的其他替代方案,以及用于桌面的插件以延迟加载文件。

2

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

这样做时,C-X C-C将关闭您的连接,并使服务器保持运行。

一个简单的方法通过调用emacs来完成,如下所示。这将连接到服务器,如果正在运行,或创建一个。

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

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

相关问题