这里我主要想记录一下,WSL2没有图形界面,怎么跑出来小乌龟,安装ROS的内容参照第一篇参考。
X window system 包括 X Server 和 X Client。WSL中有Xclient,但是没有图形界面,或者说没有X server可用,我们想让图像在windows系统下显示,自然要在Windows下安装一个X Server,他就是VcXsrv 。
VcXsrv 安装完成会生成一个XLaunch的快捷方式,打开后第一个界面,如果你想显示一个Windows Manager(比如Gnome,XFCE)那就在第2、3、4中选一个,如果你只想运行某个程序,那就选择第一个选项Multiple Windows
,此时windows系统提供窗口管理。其余默认,第二个界面默认。

第三个界面勾选 Disable access control,其余默认

此时,把鼠标放在右下角xlaunch的图标上可以看到计算机名:数字
这么一个格式,这样X Server就启动起来了,但是它和X Client不在一块,所以我们要告知X Client它在哪里。那就需要在WSL中使用export DISPLAY=XServer位置:数字
。
- 要拿到XServer位置,可以参照第二篇参考,查看/etc/resolv.conf。更简单的方法就是看一下主机的ip,它在上一级的路由,肯定也能访问到。但是不要直接用计算机名,实测不行。
- 冒号后面的数字并不是端口号,个人猜测应该和tmux一样,或者说tmux是学的它,完整的格式类似
session:window.pane
,教程里session和pane省略了,默认为0。
我的系统是win11,无需多余设置,其他系统不确定。
如果要运行rvis,建议在Windows Manager(比如Gnome,XFCE)中运行,我试了以单独的窗口运行(XLaunch第三页中取消 Native opengl
),显示不正常。

网友评论