【问题标题】:Emacs GUI on Ubuntu ServerUbuntu 服务器上的 Emacs GUI
【发布时间】:2017-10-28 11:33:01
【问题描述】:

有没有办法在 Ubuntu Server 上运行 Emacs GUI(默认安装,未安装 X Window 系统)?我使用

安装了emacs
apt-get install emacs

但是当我用

打开一个文件时
emacs <filename>

我只得到基于文本的版本

【问题讨论】:

  • 安装X窗口系统?将DISPLAY 设置为运行X 的远程系统?通过 SSH 进行 X 转发是一个已解决的问题,就像使用远程显示器(这是 X 的一种内置)一样。

标签: ubuntu emacs server


【解决方案1】:

您需要 Emacs 以支持 X 来构建,但您不需要运行 Emacs 的主机来安装 X 服务器;您只需要在提供 X 显示的主机上使用它。

由于您已经通过 apt-get 安装了 Emacs(只要它不是您安装的 -nox (no X) 包),这些依赖项应该已经得到处理。

假设您使用 ssh 连接到运行 Emacs 的服务器,传统(也是最简单的)方法是使用 ssh -Xssh -Y 启用 X 转发。阅读这些的 ssh 手册页,因为有安全方面的考虑。

为您的 ssh 连接启用 X 转发后,您只需从远程 shell 运行 emacs,就会使用您的本地 X 显示。

请注意,如果您与远程主机的网络连接不佳,那么性能将糟糕。在终端中运行远程 emacs 效率要高几个数量级。

如果性能不太理想,启用 ssh 连接压缩可能是值得的。

如果 X 转发已被禁用或不可接受,则有替代方案。上次看的时候xpra看起来是个值得追求的大道,但我还没用过。1

还有https://en.wikipedia.org/wiki/NX_technology 具有各种实现,例如 FreeNX、OpenNX、NeatX、X2Go。同样,我没有使用过任何这些,所以我无法发表评论。

最后请注意,您始终可以运行本地 GUI Emacs 并通过 Tramp 访问远程文件。对于扩展用例,我总是直接安装 Emacs,但对于需要编辑的场合,Tramp 非常棒,而且在我看来,很多人喜欢使用它,所以 YMMV。 (如果您的网络连接不可靠,那么使用 Tramp 的本地 Emacs 可能会为您省去一些麻烦。)


1 我确实试过了,但是有问题的客户端和服务器之间存在 xpra 版本不兼容问题。其他替代方案也可能存在此类问题,而 X 转发协议已经建立了很长时间,以至于我认为现在不太可能发生这种不兼容性。再说一次,YMMV。

【讨论】:

    【解决方案2】:

    尝试从 ppa 安装 emacs:

    sudo add-apt-repository ppa:ubuntu-elisp/ppa
    sudo apt-get update
    sudo apt-get install emacs-snapshot emacs-snapshot-el
    

    然后使用你想要的文件参数运行它:

    emacs-snapshot your_file
    

    【讨论】:

    • 试过这个,但仍然得到相同的结果。我认为如果没有安装 X,就没有办法做到这一点。
    • 你不想安装它有什么原因吗?如果这是您需要的,您可以这样做……或寻找其他选择?
    • 只是不想使用完整的 gui 占用服务器资源
    猜你喜欢
    • 2017-01-13
    • 2012-01-19
    • 2014-04-03
    • 1970-01-01
    • 2014-10-28
    • 1970-01-01
    • 2017-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多