我正在使用 Bash on Ubuntu on Windows 程序来使用 Emacs for C++。 现在,我可以使用键盘快捷键对所有内容进行编码,但是,我想用鼠标选择文本或用鼠标设置标记,而不必总是使用键盘。
为了获取 X Windows 系统,我已经执行了 sudo apt-get install xserver -xorg
但 emacs 仍然在终端编辑器中运行。
我不知道还可以使用哪些其他命令或如何让 X Windows 开始运行。
最佳答案
Windows bash 不支持 X Server。但是,将 Windows X Server 端口(例如 MobaXTerm、XMing 或 vcXsrv)与 Windows bash 结合使用是可行的。有些东西是开箱即用的(gvim 做到了,emacs 需要更多的努力。
以下是我的实现方法:
安装 MobaXterm 。您很可能也可以使其与 XMing 一起使用,但我仅使用 MobaXterm 进行了测试。 更新:使用 vcXsrv 进行测试和 XMing (付费版本。)工作原理基本相同,我可能会坚持使用 MobaXTerm。
安装 emacs 25.1 快照。原因是:Ubuntu 14.04 附带了 emacs 24.3,它不能与 Windows bash 和 MobaXTerm X 服务器一起使用(不知道为什么,而且它太旧了。)
使用以下命令安装快照:
sudo add-apt-repository ppa:ubuntu-elisp/ppa
sudo apt-get update
sudo apt-get install emacs-snapshot
然后运行
sudo update-alternatives --config emacs
并选择emacs-snapshot
确保您设置了DISPLAY
export DISPLAY=localhost:0.0
运行 MobaXTerm(您不需要在其中执行任何操作,只需启动它 - 它会在需要时启动 X Server。)
在 bash 中运行 emacs 并享受。
仍然存在一个问题,并且它在我测试过的所有三个软件包(MobaXTerm、XMing 和 vcXsrv)中都存在。 Emacs 坚持初始框架大小,并且在调整窗口大小时不会调整其框架大小。菜单栏也有同样的问题 - 当菜单栏被禁用时,emacs 不会回收其空间,它仍然是一个灰色的矩形。这个问题似乎是 Windows bash 上的 emacs 特有的 - gvim 和其他 GUI 程序似乎工作正常。此外,使用 Windows 上的任何 X Server 在 Linux 上运行 emacs 25.1 都可以正常工作。我尝试使用不同的 GUI 设置(GTK 2.0 等)构建 emacs,但是 Windows bash 上的 emacs make 被卡住了。如果我找到解决方法,我将发布更新。
更新 09/24/2017 根据 Jarett init.el
中的以下内容应该可以解决框架调整大小问题:
(setq frame-resize-pixelwise t)
我的 Windows 不再处于事件状态,因此无法测试它。
关于emacs - 如何在 Windows 10 Bash 上使用 X Windows 和 Emacs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39182483/