在Docker容器中运行ros2无法打开图形界面解决办法

运行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>
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值