紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
记录一下win11 WSL2一键安装Docker+ROS
-
记录一下win11 WSL2一键安装Docker+ROS
安装并尝试启动
- 按照【小鱼一键安装系列】在wsl2 上安装了docker+ros,输入
docker images
可以看到成功安装;
- 尝试启动镜像,出现报错:
error gathering device information while adding custom device "/dev/snd":not a device node
- 尝试以命令行交互的形式启动:
docker run -it -e DISPLAY=host.docker.internal:0.0 fishros2/ros:noetic-desktop-full
成功启动镜像:
启动小海龟rosrun turtlesim turtlesim_node
,出现报错:qt.qpa.xcb: could not connect to display 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, xcb.
查询后得知wsl2没有GUI需要安装xserver
安装Xserver
- WSL2 ubuntu下安装
xfce4
:
sudo apt-get install xfce4
弹出的配置界面选择
lightdm
,- 编辑.bashrc,
gedit ~/.bashrc
在.bashrc末尾添加如下内容:
# xfce4 export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0 export LIBGL_ALWAYS_INDIRECT=1
之后,执行
source .bashrc
使环境变量生效。
3. windows 安装vcxsrv
,一路点击next即可,安装完成后,设置防火墙,windows防火墙允许vcxsrv.exe
和XLaunch.exe
。
4. windows运行XLaunch
,配置如下:
5. 打开windows命令行cmd
,输入ipconfig
查看ipv4
地址;
6. ubuntu 下添加DISPLAY
变量:export DISPLAY=xxx.xxx.xxx.xxx:0.0
xxx.xxx.xxx.xxx
为你的windows的ipv4地址。
7. WSL2 ubuntu 启用xfce4
:sudo startxfce4
顺利的话,
xfce4
启动后,XLaunch
窗口中可以看到ubuntu的图形界面,如果没看到ubuntu的图形界面,在第4步里选择Multiple windows
,Display number
设为-1
,然后再试试。启动ROS
以命令行交互的形式启动docker镜像:
docker run -it -e DISPLAY=host.docker.internal:0.0 fishros2/ros:noetic-desktop-full
启动
roscore
roscore
另开一个终端启动小海龟:先打开一个wsl2 ubuntu 终端,查看正在运行的docker镜像名称:
docker ps
然后执行:docker exec -it xxx /bin/bash
其中,
xxx
为镜像名,在镜像的终端里启动小海龟:rosrun turtlesim turtlesim_node
可能遇到的错误
启动
xfce4
报错FAILED TO CONNECT TO SESSION MANAGER
的解决方法:rm -rf .config/xfce4 rm -rf .config/xfce4-session su -c 'systemctl enable lightdm'
之后重启电脑。
- 按照【小鱼一键安装系列】在wsl2 上安装了docker+ros,输入