在最近微软更新的 Win10 2004 版本中,WSL 升级为了 WSL 2,并在将来会开始支持 Linux GUI,趁着升级 WSL 2 又想试试图形界面应用,因此决定搞事情。
没有装 WSL 的可以看官方文档直接装 WSL 2。如果装了 WSL,可以升级成 WSL 2(需要 Win10 2004 版本)。
可以在 Microsoft Store 里装一个 Windows Terminal,直接支持 CMD,PowerShell 和 Ubuntu 操作。
先根据这篇文章把源换一下,下载溜溜的:https://blog.youkuaiyun.com/wangyijieonline/article/details/105360138
由于目前还不支持 GUI,因此为了运行 WSL 2 中的 GUI 应用,需要借助 X11 Forwarding。
安装 X Server
Windows 下安装 X11 Server 可以有多个选择,VcXsrv,XMing,X410 等。这里我用 VcXsrv,为什么用这个?因为我看别的教程用了这个。
从 网站 上下好 VcXsrv,双击安装一气呵成。然后桌面上生成 XLaunch 图标,打开之后前两个选项选 “Multiple windows” 和 “Start no client”,最后一页要把 “Disable access control” 选上。
设置 WSL 中的 SSH 服务
要使用 X11,需要在 WSL 中设置 SSH。
# 删除默认 ssh
sudo apt-get remove --purge openssh-server
# 更新一下
sudo apt-get update
sudo apt-get upgrade -y
# 安装 SSH
sudo apt-get install -y openssh-server
然后修改 ssh 的配置文件,文件是 /etc/ssh/sshd_config
:
更改项目如下:
Port 222
X11Forwarding yes
X11DisplayOffset 10
最后,开启 OpenSSH 服务
sudo service ssh start
然后在 ~/.bashrc
文件里添加下面两句:
export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0
export LIBGL_ALWAYS_INDIRECT=1
然后执行 source ~/.bashrc
使之立即生效。接下来可以打开一个具有 GUI 的 Linux App 试试,比如说 gvim,成功!
Reference:
https://medium.com/swlh/get-wsl2-working-on-windows-10-2ee84ef8ed43
https://wiki.ubuntu.com/WSL