问题
今天在 wsl
里使用 rviz
时突然报错 Segmentation fault
无法使用了, 报错如下
(base) root@XAIR14:~ $ rviz
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
[ INFO] [1683702959.671174856]: rviz version 1.13.29
[ INFO] [1683702959.671231073]: compiled against Qt version 5.9.5
[ INFO] [1683702959.671238143]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1683702959.674941951]: Forcing OpenGl version 0.
Segmentation fault
排查
- 我是通过
MobaXterm
软件ssh
连接wsl
的, 这个软件自带Xserver
, 即可以显示一些linux
服务器上带显示界面的程序窗口, 如rviz
和opencv
的imshow
等 - 之前使用
rviz
一直没问题, 今天突然不行了, 几乎把能搜索到的解决方案都试了个遍, 甚至重装了wsl
和ros
, 都没有解决- 大部分解决方案这篇博客里都列举了
- 【解决方案】WSL2下rviz启动不了(Segmentation fault): https://blog.csdn.net/sinat_52032317/article/details/128191645
- 使用
nomachine
远程到另一台机器人的图形化界面,rviz
是可以用的, 但是用MobaXterm
远程连接同样用不了rviz
, 至此怀疑是MobaXterm
软件Xserver
的问题 - 排查
MobaXterm
软件Xserver
的设置, 发现确实是前一天手贱修改了一个地方, 改回来以后就可以正常使用rviz
了
解决
- 实测
MobaXterm
软件X11
的设置里, 如图OpenGL acceleration
选项必须是Software
才可以, 另外两项Hardware
和None
都会导致Segmentation fault
段错误 (核心已转储)