【教程】使用Windows子系统WSL安装ROS2运行小海龟
-
@李万宝 解决了,需要在这个终端的界面里使用按键,鼠标点一下这个终端,在光标这里按键盘

-
@施 在 【教程】使用Windows子系统WSL安装ROS2运行小海龟 中说:
无法将磁盘“C:\Users\qwert\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx”附加到 WSL2: 系统找不到指定的文件。
错误代码: Wsl/Service/CreateInstance/MountVhd/HCS/ERROR_FILE_NOT_FOUND@施 咋解决的?我也突然遇到这个问题了。
-
此回复已被删除! -
@lovedreamms 在 【教程】使用Windows子系统WSL安装ROS2运行小海龟 中说:
@Zengs 在 【教程】使用Windows子系统WSL安装ROS2运行小海龟 中说:
@mahong1237 我也是这个问题,但是我再开启一个终端运行rqt,刷新node graph,小海龟就可以操作了
情况+1,大家有找到解决方案嘛
情况说明
使用wsl-22.04运行海龟程序,键盘控制无法生效
开启一个终端运行rqt,刷新node graph,可以使用关闭以后无法使用
ros2 node list等指令无法使用同样的问题已解决。
修改user下的.wslconfig, 把配置文件里的firewall=true改为firewall=false -
我这边一直显示依赖问题

按照括号后面操作了也完全没有用

在另一个窗口输入命令也是一样的结果 -

为什么我的VScode运行不了ros2呀?明明我下了ros2
-
@李万宝 wsl2图形的解决办法:
WSLg 是微软官方为 WSL 提供的内置 GUI 支持功能。它在 Windows 11 和较新版本的 Windows 10 中是默认开启的,无需安装第三方软件。确保 WSLg 已启用
打开 Windows 的 PowerShell 或 CMD (Command Prompt) 终端(不是 WSL 里的),运行以下命令来更新 WSL:
Bash
wsl --update
如果提示需要更新,请等待更新完成,然后重启 WSL:Bash
wsl --shutdown
关闭所有 WSL 窗口,然后重新打开一个新的 WSL 终端即可。设置 DISPLAY 环境变量
WSLg 会自动设置一个名为 DISPLAY 的环境变量,告诉所有 GUI 程序应该把窗口画在哪里。正常情况下,它的值应该是 :0。你的报错很可能是因为这个变量没有被正确设置。在你的 WSL 终端里,运行以下命令来临时设置它:
Bash
export DISPLAY=:0
设置完后,再次尝试运行你的 ROS 2 命令:Bash
ros2 run turtlesim turtlesim_node
如果这次成功了,说明问题就在 DISPLAY 变量。为了让这个设置永久生效,把它写入你的 shell 配置文件中。如果你用的是默认的 bash,就执行:Bash
echo "export DISPLAY=:0" >> ~/.bashrc
source ~/.bashrc -
Run CMD Task:[wget https://fishros.org.cn/forum/topic/1733 -O /tmp/t1733 -q --timeout 10 && rm -rf /tmp/t1733]
[-][0.00s] CMD Result:code:5
这是什么问题? -
@小鱼 LAPTOP-EH66T608:/mnt/host/c/Users/leo# wget http://fishros.com/install -O fishros && bash fishros
Connecting to fishros.com (47.119.165.169:80)
Connecting to fishros.com (47.119.165.169:80)
saving to 'fishros'
fishros 100% |************************************************************************| 960 0:00:00 ETA
'fishros' saved
-sh: bash: not found -
@kha 小鱼老师,大佬们,这个报错是什么原因呀
-
@小鱼 请问出现网络问题的话,还需要重新下载吗,怎么办呀
-
syq@zhan99:/mnt/c/Users/buaas$ ros2 run turtlesim turtlesim_node
qt.qpa.xcb: could not connect to display 10.255.255.254:0
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, xcb.
求助,为什么小海龟打不开啊
-
@小鱼
大佬,我也没有humble版本 是安装的22.04呀
-
鱼哥请问我这里也没有humble选项是怎么回事
我的乌班图是22.04的 -
@Rainbow-1 我问ai解决了,原因是默认的不知道为什么设置成的最新版的,然后用终端回调到22.04版本即可,wsl --set-default Ubuntu-22.04。
-
@taikongnaut 试试在 ~/.bashrc 中添加:
export MESA_GL_VERSION_OVERRIDE=4.0 export QT_XCB_GL_INTEGRATION=xcb_egl export LIBGL_ALWAYS_SOFTWARE=1 -
此回复已被删除! -
@lovedreamms 我是直接用官方文档的 命令进行安装使用 不会有任何问题 ros2官网
-
各位同胞 我之前基于官方文档2204安装了这个版本ROS2 按照B站视频 基于wsl也安装成功了

-
@李万宝 更换底层 DDS 实现为 CycloneDDS
安装 CycloneDDS(请把下面命令中的 humble 替换为你实际使用的 ROS2 版本,比如 foxy 或 iron):
sudo apt update
sudo apt install ros-humble-rmw-cyclonedds-cpp
告诉 ROS2 使用这个新的通信中间件:
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
同样,建议将其写入 .bashrc 永久生效:
echo "export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp" >> ~/.bashrc
source ~/.bashrc