【问题标题】:Running emacs in server mode so it's possible to connect from remote locations [duplicate]在服务器模式下运行 emacs,以便可以从远程位置连接 [重复]
【发布时间】:2013-12-04 22:56:31
【问题描述】:

是否可以在服务器模式下运行 emacs,以便远程客户端可以通过网络从远程位置连接?我只是在寻找在远程强大的服务器上运行 emacs 并在远程运行 compile 命令时使用 emacsclient 在本地编辑缓冲区的方法。这看起来比使用ssh 会话要好得多。不应依赖于网络延迟。

【问题讨论】:

  • 文件是本地的还是远程的?如果您只想在远程服务器上运行 emacs,那么您可以通过 X11 转发运行它,或者通过与远程计算机的 ssh 连接在终端中运行它。
  • 您能否更准确地描述您的用例?在本地拥有源代码(我理解正确吗?)有什么问题,通过ssh 编译它(ssh 允许执行自定义命令而无需创建新会话)并使用任何首选 VCS 推送回服务器(例如git/svn/...)?
  • 我想远程保存文件,在远程服务器上运行编译,然后通过 emacsclient 在本地编辑文件。基本上我需要 emacs 作为通用网络服务器运行。由于网络延迟,不想要任何带有 X11 转发甚至 ssh 会话的巫术。
  • 为什么你特别想使用emacsclient? TRAMP 怎么了?
  • 好吧,我希望远程机器上的 emacs 服务器在许多连接的用户之间共享缓冲区。

标签: emacs server-mode


【解决方案1】:

我认为最好的方法是:http://www.emacswiki.org/emacs/TrampMode

【讨论】:

    【解决方案2】:

    根据我上面的评论,我推荐以下工作流程:

    1. 将您处理的源检索到本地目录(通过scpgit 等)
    2. 在代码中引入所需的更改
    3. 要在远程服务器上编译代码,请指定一个自定义 compile-command,它将:

      1. 将更改的文件推回远程服务器。例如:scp -r my-sources/ user-name@example.net:my-sources 或通过 git push remote my-dev-branch
      2. 通过 ssh 运行编译命令并显示输出。例如:ssh user-name@example.net -C "cd ~/my-sourcesl; make && ./bin/compiled-app"

    note: 为了通过 ssh 顺利执行命令,应该配置一个基于密钥的身份验证。

    这里的显着缺点是它至少可能无法正确(或根本)运行 X11 应用程序

    【讨论】:

      猜你喜欢
      • 2012-02-18
      • 1970-01-01
      • 1970-01-01
      • 2015-06-16
      • 2012-11-06
      • 2016-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多