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

前言

为实现在win11中使用ros...


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

参考:Windows 11 安装 WSL2

主要步骤:开启虚拟化-->安装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

 
 
 
 
 
 

转自:

点击查看

相关推荐
逆小舟7 小时前
【Linux】人事档案——用户及组管理
linux·c++
青草地溪水旁7 小时前
pthread_mutex_lock函数深度解析
linux·多线程·pthread
太空的旅行者8 小时前
告别双系统——WSL2+UBUNTU在WIN上畅游LINUX
linux·运维·ubuntu
人工智能训练师10 小时前
Ubuntu22.04如何安装新版本的Node.js和npm
linux·运维·前端·人工智能·ubuntu·npm·node.js
灿烂阳光g10 小时前
domain_auto_trans,source_domain,untrusted_app
android·linux
Ronin30511 小时前
【Linux系统】日志与策略模式
linux·策略模式·日志
ZzzK,12 小时前
JAVA虚拟机(JVM)
java·linux·jvm
Aspiresky13 小时前
浅析Linux进程信号处理机制:基本原理及应用
linux·运维·信号处理
ajassi200014 小时前
linux C 语言开发 (八) 进程基础
linux·运维·服务器
..过云雨14 小时前
05.【Linux系统编程】进程(冯诺依曼体系结构、进程概念、进程状态(注意僵尸和孤儿)、进程优先级、进程切换和调度)
linux·笔记·学习