win11+wsl+ubuntu20.04+ros+x11+mobaxterm实现win11中ROS使用(含可视化)

该文详细介绍了如何在Windows11的WSL环境中安装和配置Ubuntu20.04,使用鱼香ROS更换源并安装ROS,安装X11,设置显示IP,以及安装和使用Mobaxterm作为X11服务器。同时,文中还提供了处理WSL与Win11间ping不通及rviz启动时遇到的段错误问题的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

为实现在win11中使用ros…


一、win11中wsl(ubuntu20.04)安装

参考:Windows 11 安装 WSL2
主要步骤:开启虚拟化–>安装ubuntu20.04
安装后可能还是WSL1,可参考WSL1升级为WSL2进行升级。

二、使用鱼香ROS换源并更新

wget http://fishros.com/install -O fishros && . fishros

([5]:一键配置:系统源(更换系统源,支持全版本Ubuntu系统))

sudo apt update
sudo apt upgrade

三、使用鱼香ROS安装ROS

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)

在这里插入图片描述
解决方法:设置:

export LIBGL_ALWAYS_INDIRECT=0
### 配置和启动 MobaXterm 中的 X11 转发 #### 正确配置 MobaXterm 的 X11 转发 为了确保 MobaXterm 可以正常工作并提供稳定的 X11 转发服务,需要确认几个设置选项: - **启用内置 X 服务器**:当首次运行 MobaXterm 或者创建新的会话时,在“Settings”下的“Configuration”标签页中找到“X11”部分。这里应该勾选“Use the integrated X server”,这样可以激活内建于 MobaXterm 的 X Server 功能[^4]。 - **SSH 连接参数调整**:对于每一个 SSH 会话来说,都需要保证 `ssh` 命令包了 `-X` 参数用于开启 X11 转发;如果希望提高安全性,则可以选择更安全但是性能稍差一点的方式即使用 `-Y` 参数代替之。此操作可以在建立连接前的手动输入框里完成,也可以预先设定好默认行为以便每次都能自动应用这些选项[^1]。 #### 启动带有 X11 支持的应用程序 一旦上述配置已经就绪,就可以尝试启动那些依赖 GUI 显示的应用程序了。假设目标是在远程 Linux 主机上打开 RViz(Robot Operating System Visualization Tool),那么只需按照常规方式调用该命令即可,例如通过终端窗口键入如下指令: ```bash rviz & ``` 此时,得益于之前所做的准备工作以及 MobaXterm 自带的强大 X11 处理能力,原本仅能在本地计算机上呈现的画面将会顺利地经由网络传输至 Windows 平台上的 MobaXterm 界面之中展现出来[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值