运行ROS2小海龟模型失败
输入
ros2 run turtlesim turtlesim_node
运行报错,但是命令
ros2 run turtlesim turtle_teleop_key
是不会报错正常运行的,于是猜测是因为在docker容器中没有显示图形界面,后来通过上网查找资料
[tips] 1.1 安装docker版本的ros2,跑出小乌龟byjames2721
总结出两种办法:
第一种办法
在主系统
$sudo apt-get install x11-xserver-utils
$xhost +
#输出为:access control disabled, clients can connect from any host
用docker启动
#不给容器起名字版本
docker run -it -v /etc/localtime:/etc/localtime:ro -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY -e GDK_SCALE -e GDK_DPI_SCALE osrf/ros:humble-desktop
#给容器指定名字的版本(指定为ros2)
docker run -it -v /etc/localtime:/etc/localtime:ro -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY -e GDK_SCALE -e GDK_DPI_SCALE --name ros2 osrf/ros:humble-desktop
#其中,osrf/ros:humble-desktop是我下载的ros2版本名字,您应该根据自己pull下来的镜像名做相应的修改
第二种办法-已经启动的容器修改系统参数
这个方法我还没有尝试过,可以参考一下
Docker容器运行GUI程序的配置方法
Docker启动容器、进入容器、关闭容器
查看所有容器
docker ps -a
启动容器(只有启动容器之后才能进入容器)
docker start <容器名/id>
进入容器
docker exec -it <容器名/id> bash
关闭容器
docker stop <容器名/id>