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

 
 
 
 
 
 

转自:

点击查看

相关推荐
艾莉丝努力练剑20 小时前
OpenCode AI 编程:Ubuntu 24.04 环境安装与使用指南
linux·服务器·网络·人工智能·tcp/ip·ubuntu
崇山峻岭之间20 小时前
Keil5输出hex转换为bin的设置
linux·运维·服务器
谷雪_65820 小时前
Linux 网络命名空间:从内核原理到企业级容器网络架构全景实战
linux·网络·架构
Tian_Hang21 小时前
Eclipse Ditto 的权限策略
java·服务器·前端·网络·ide·ubuntu·eclipse
qq_1631357521 小时前
Linux 【03- chgrp命令超详细教程】
linux
CodeStats1 天前
【编程语言】深度梳理C/C++、Java、Python、Go、Rust的区别
java·linux·c语言·c++·python·rust·go
我会尽全力 乐观而坚强1 天前
MySQL库与表的操作
linux·数据库·mysql
着迷不白1 天前
Linux 磁盘管理完全指南:分区、文件系统、挂载与 LVM 实战
linux·运维·服务器
山川而川-R1 天前
LangChain
linux·运维·服务器
QH_ShareHub1 天前
Linux 根目录结构详解
linux·运维·服务器