问题
今天在 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段错误 (核心已转储)










![[Mysql] MySQL索引与事务](https://img-blog.csdnimg.cn/bd36db165d094f4ba9e9ba2c941e3104.png)









