使用 VcXsrv 在 Windows 10 上运行 Ubuntu 图形界面
VcXsrv 是一款用于 Windows 的开源 X 服务器,它允许在 Windows 系统上显示 Linux 的图形应用程序。当在 Windows 10 上安装并正确配置 VcXsrv 后,通过设置 WSL2 中的DISPLAY
环境变量,使其指向运行 VcXsrv 的 Windows 主机的 IP 地址,就可以将 WSL2 中运行的图形应用程序的界面显示在 Windows 桌面上。因此,此时在 WSL2 中运行 gedit,会通过 VcXsrv 在 Windows 上弹出 gedit 自身的图形界面,而不是 Windows 的记事本。
第一步从如下地址下载VcXsrv
VcXsrv Windows X Server download | SourceForge.net
vcxsrv-64.1.20.14.0.installer.exe
第二步安装VcXsrv
第三步运行VcXsrv
安装完成后从桌面图标运行VcXsrv,弹出界面
Display number: 0设置为0
引申话题:为什么 VcXsrv 要设为 0
?
:0
表示:
-
连接到本地(Unix Domain Socket)
-
使用 Display Number
0
WSL2 的默认配置:
在 WSL2 中,/etc/resolv.conf
的 nameserver
是 Windows 主机的虚拟 IP(如 172.x.x.x
),而 DISPLAY
环境变量通常设置为:
export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf):0
-
这里的
:0
需要与 VcXsrv 的 Display Number 一致,否则无法连接。 -
兼容性问题:大多数 Linux GUI 应用默认尝试连接
:0
,设为0
可避免额外配置。
勾选(允许 WSL 连接)
下面默认完成后在任务栏显示如下:
第四步在 WSL2 中配置 DISPLAY
在 Ubuntu 终端运行:
echo "export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf):0" >> ~/.bashrc
echo "export LIBGL_ALWAYS_INDIRECT=1" >> ~/.bashrc
source ~/.bashrc
第五步测试GUI依次执行如下命令:
sudo apt update
sudo apt install gedit -y
gedit
运行最后的gedit后弹出文档编辑界面,如下图:
这个就是刚才输入的gedit程序,关于gedit如下:
gedit 文本编辑器的图形界面。
第五步再安装一个计算器到wsl2的ubuntu中,执行如下命令:
sudo apt install gnome-calculator -y
然后再在wsl2中输入看看效果,运行命令:gnome-calculator
受WSL2 的图形限制会报错和Zink 报错,直接忽略即可,等一会后出现如下所示的界面
这样我就可以通过wsl2中进行但应用的界面化调用了。
我们再安装个firefox看看。
运行文件管理器:
显示如下:
总结:Windows 10 访问 Ubuntu GUI 的最佳方案
运行简单GUI工具的话,用vsxsrv+单个应用(mutil多窗口模式)就足够了。
最后需要注意的是,前面的操作都是在root账户下的操作,如果切换普通账号不能不能启动应用界面的话,需要从root账号切换到普通账号,然后依次执行下面的命令:
在普通用户的 ~/.bashrc
或 ~/.profile
中添加:
export DISPLAY=$(awk '/nameserver / {print $2}' /etc/resolv.conf):0
export LIBGL_ALWAYS_INDIRECT=1
然后生效配置:
source ~/.bashrc
这样就可以用普通账号启动相应的软件了。
下面是一些常用的命令,如果没有安装的话,得先安装应用。
nautilus # 文件管理器
gnome-terminal # 终端
gnome-system-monitor # 任务管理器
update-manager # 更新管理器
software-properties-gtk # 软件和更新
nm-connection-editor # 网络设置
gedit # 文本编辑器
gnome-calculator # 计算器
gnome-software # 软件中心
gnome-disks # 磁盘管理工具
gnome-control-center # 系统设置
gnome-control-center datetime # 时间和日期设置
gnome-control-center power # 电源设置
gnome-control-center display # 显示设置
gnome-control-center sound # 声音设置
gnome-control-center user-accounts # 用户账户设置
gnome-control-center bluetooth # 蓝牙设置
gnome-control-center keyboard # 键盘设置
gnome-control-center mouse # 鼠标和触摸板设置
gnome-control-center region # 区域和语言设置