环境准备
Bash
sudo apt update
sudo apt install build-essential
sudo apt install net-tools
sudo apt install xrdp -y && sudo systemctl enable xrdp
通过安装xubuntu-desktop和gtk2库安装xfce4
Bash
sudo apt install -y tasksel
# 需要注意!!执行下面命令前将/mnt添加到/etc/updatedb.conf的PRUNEPATHS,防止索引到Windows文件
sudo tasksel install xubuntu-desktop # (也可以不使用tasksel安装xubuntu-desktop ,而使用apt安装)
sudo apt install gtk2-engines
在~/.bashrc添加内容
Bash
export DISPLAY=$(route.exe print | grep 0.0.0.0 | head -1 | awk '{print $4}'):0.0
# 下面的加上后不会报 libGL error
# 部分程序如 rviz2 需要将下面环境变量设为 0
export LIBGL_ALWAYS_INDIRECT=1
更新环境变量
Bash
source ~/.bashrc
MobaXterm设置
重要步骤:在Windows防火墙设置里放行TCP 6000入站端口,以允许对X11服务器的访问
运行GUI程序时,打开MobaXterm,以保持X server监听开启。
如需运行单个Linux GUI程序,直接在wsl内用正常命令启动即可;
如需运行完整Linux GUI桌面,在wsl下使用sudo xfce4-session命令
运行单个Linux GUI程序测试
Bash
sudo apt install x11-apps
xclock
通过xrdp使用Windows远程桌面连接来访问
Bash
sudo vim /etc/xrdp/startwm.sh
# 在开头添加以下内容,即可解决远程桌面连接登录后的黑屏问题:
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
其中登录IP即为WSL执行ifconfig的IP
登录用户名和密码是WSL的用户名和密码