Windows10上的wsl模式虽然解决了运行linux程序的痛点,然而所运行的程序依然受困于Terminal中。比如emacs:

终端版本的emacs
试图获得赏心悦目的视觉效果,比如优美的字体和图形,必须设法取得GUI。
1.安装VcXsrv
首先用 choco 工具安装VcXsrv:

- PS C:\Users\gaowei> sudo choco install vcxsrc
- Chocolatey v0.10.15
- Installing the following packages:
- vcxsrc
- By installing you accept licenses for the packages.
2.配置 bashrc 或者 zshrc 文件
在 .bashrc 或者 .zshrc 中添加 这两行代码:
- export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 # in WSL 2
- export LIBGL_ALWAYS_INDIRECT=1
3.初始化 VcXsrv
打开程序之后,首先选择 multiple windows:

继续下一步, 选择 start no client:

下一步后,选择全部选项:

下一步则完成:

4.运行GUI程序:
比如马上运行图形版的emacs:

如此,工作便如虎添翼,兼容并蓄Linux与Windows的双重优势。