如何使用MobaXterm打开WSL2的GUI程序

转自: https://zhuanlan.zhihu.com/p/151853503

在Windows 10升级到2004版本以后,自带的Windows subsystem for linux也可以升级至第二代也就是wsl2,它的轻量和不低的性能,使得它成为虚拟机的有力替代品,可以在不安装linux虚拟机的情况下,也可以在Windows下享受到较完整的linux开发体验。

但是,WSL2本身只有一个命令行界面,虽然linux大多数操作都在终端下完成,但难免会有一些程序要使用到图形界面GUI(比如我学操作系统时会用到的qemu、bochs等硬件模拟器),所以实现WSL2的图形显示,有时候还是必要的。

显示图形界面的方法就是在Windows下安装x-server来显示,我之前安装的是VcXsrv,后来了解到了MobaXterm,继承了ssh、scp、x-server等多种功能,省了很多事,所以现在转投MobaXterm来作为x-server了。

官方下载地址(免费的Home Edition就够用了):

打开后默认是会自动启动x-server的,接下来就是要配置WSL2的显示设置了。

在一代WSL的时候,只要把环境变量DISPLAY设置为localhost:0.0即可,但WSL2改变了网络设置,所以配置方式有所不同。

如果使用的是bash,就在.bashrc中;如果使用的是zsh,就在.zshrc中加入下面这条:

export DISPLAY=`cat /etc/resolv.conf | grep nameserver | awk '{print $2}'`:0.0

然后

source .bashrc

source .zshrc

即可。

接下来打开GUI程序就能正常显示了,比如我使用bochs打开linux-0.11就会是如下效果:

但有时会发现仍然没有丝毫动静,那有可能是因为防火墙的原因,阻断了和x-server的通信,打开防火墙设置,把涉及xwin_mobax.exe的选项全勾上即可。

Firewall 设置

原文地址:https://www.cnblogs.com/arci/p/14670524.html