2017-05-27 62 views
1

有没有办法在Ubuntu服务器上运行Emacs GUI(默认安装时没有安装X Window系统)?我安装使用Ubuntu服务器上的Emacs GUI

apt-get install emacs 

emacs的,但是当我打开一个文件,

emacs <filename> 

我只得到了基于文本的版本

+0

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

回答

0

尝试从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 
+0

试过这个,但仍然得到相同的结果。如果没有安装X,我认为没有办法做到这一点。 – Jeremy

+0

有没有你不想安装它的原因?你可以做到这一点,如果这是你需要的......或寻找另一种选择? –

+0

只是不想使用完整的gui来捆绑服务器资源 – Jeremy

1

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

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

假设您使用ssh连接到运行Emacs的服务器,传统(最简单的)方法是使用ssh -Xssh -Y启用X转发。由于存在安全考虑因素,请阅读ssh手册页。

随着你的ssh连接启用X转发,你可以从远程shell中运行emacs,和当地的X显示将被使用。

请注意,如果您的网络连接到远程主机很差,那么性能会很差。在终端中运行远程emacs的效率要高出几个数量级。

设置SSH连接的压缩可能是值得做的,如果效果不理想。

如果X转发已被禁用或以其他方式不能接受的,有替代品。我最后一次看,xpra看起来像一个值得追求的大道,但我还没有使用它。

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

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


其实我试过,但有问题的客户端和服务器之间xpra版本不兼容。这种问题也可能存在于其他替代方案中,而X转发协议的建立时间很长,我认为现在不太可能出现这种不兼容问题。再次,YMMV。