前言
为实现在win11中使用ros...
一、win11中wsl(ubuntu20.04)安装
主要步骤:开启虚拟化-->安装ubuntu20.04
安装后可能还是WSL1,可参考WSL1升级为WSL2进行升级。
二、使用鱼香ROS换源并更新
bash
wget http://fishros.com/install -O fishros && . fishros
([5]:一键配置:系统源(更换系统源,支持全版本Ubuntu系统))
bash
sudo apt update
sudo apt upgrade
三、使用鱼香ROS安装ROS
bash
wget http://fishros.com/install -O fishros && . fishros
([1]:一键安装:ROS(支持ROS和ROS2,树莓派Jetson))
...
四、X11安装
在WSL中执行:
sudo apt install x11-apps -y
安装x11
五、设置显示IP
在windows中查看ip,(如:终端命令:ipconfig),找到WSL网络,如我这里的172.24.128.1。
在WSL中使用下述命令设置:
export DISPLAY=172.24.128.1:0
六、安装 mobaxterm
也可安装其他X11服务器,如VcXsrv或Xming等,mobaxterm包含了ssh等功能,文件其他调试使用。
直接在网上搜索mobaxterm安装即可。官网在此:link。
七、启动测试
启动mobaxterm程序,在wsl运行图形界面命令即可。
测试:
roscore
新开终端运行
rviz
八、问题及解决方案
1、 win能ping能wsl,wsl无法ping通win
by:GPT,测试有效。
要设置新的防火墙规则,以允许WSL(Windows Subsystem for Linux)能够ping通Windows 11,请按照以下步骤操作:
打开Windows Defender防火墙设置:按下"Win + R"键,输入"control panel",然后按回车键打开控制面板。在控制面板中,选择"Windows Defender防火墙"。
进入防火墙高级设置:在Windows Defender防火墙设置界面上方的左侧面板中,选择"高级设置"。
创建新的入站规则:在高级防火墙设置窗口的左侧面板中,选择"入站规则"。
新建规则向导:在右侧面板中,选择"新建规则",以启动新建规则向导。这将打开一个配置新规则的向导。
选择规则类型:在新规则向导的第一步中,选择"自定义",然后点击"下一步"。
配置规则:根据以下指导配置新的规则:
基本:设置规则名称和描述(可选),然后点击"下一步"。
操作:选择"允许连接",然后点击"下一步"。
协议和端口:选择"ICMPv4",然后点击"下一步"。
端点:选择"这台计算机",然后点击"下一步"。
设置源:选择"任何IP地址",然后点击"下一步"。
设置目标:选择"这台计算机",然后点击"下一步"。
高级:不需要进行更改,直接点击"下一步"。
操作:确认你的配置,并点击"完成"。
应用设置:确保保存并应用新的防火墙规则配置。
2、所有配置完成,打开可视化没反应
可能原因,wsl无法连接到mobaXterm的X服务器。打开mobaXterm的设置(Settings),选择X11,设置X11 remote access 为full。
2、所有配置完成,打开rviz出现段错误(Segmentation fault)
解决方法:设置:
bash
export LIBGL_ALWAYS_INDIRECT=0
转自: