zoukankan      html  css  js  c++  java
  • 如何使用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 设置

  • 相关阅读:
    C# 6.0:在catch和finally中使用await
    C# 6.0:Expression – Bodied Methods
    C# 6.0:Auto-Property initializer
    C# 6.0:String Interpolation
    【转】http://www.cnblogs.com/yuzukwok/p/3884377.html
    ThoughtWorks面试题(标记给自己看)
    C# 强制关闭当前程序进程(完全Kill掉不留痕迹)
    (转)C#编程中的66个好习惯
    (转)解决WINDOWS 程序界面闪烁问题的一些经验
    C#利用反射动态绑定事件
  • 原文地址:https://www.cnblogs.com/arci/p/14670524.html
Copyright © 2011-2022 走看看