当前位置: 首页 > news >正文

解决Docker容器中出现的错误“Pangolin X11: Failed to open X display”

1 问题描述

按照iKalibr文档[1]^{[1]}[1]中的流程,创建Docker容器,

# Allow local Docker connections to the X server.
# This command grants local Docker containers permission to access your host machine's X11 display.
xhost +local:docker# Run the Docker container
docker run -it --device=/dev/dri:/dev/dri --env="XDG_RUNTIME_DIR=/tmp" --env="DISPLAY" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" --volume="$HOME/.Xauthority:/root/.Xauthority:rw" --name your_container_name ulong2/ie_kalibr_image:latest

然后在容器中运行程序,

roslaunch ikalibr ikalibr-learn.launch
roslaunch ikalibr ikalibr-prog.launch

终端出现错误,

[C]-[918]-[10:32:25.095] unknown error happened: 'Pangolin X11: Failed to open X display'
[ikalibr_learn-2] process has finished cleanly

程序被迫终止。

2 解决方法

尝试了很多方法,都没解决上述问题。最终,按照[2]^{[2]}[2]的方法,成功解决。该错误的来源是创建容器时,参数配置错误。如果需要使用X11的图形界面进行可视化,正确创建容器的流程如下。

xhost +Local:*
xhost
sudo docker run -it --rm  --net=host    --privileged -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix:ro  ulong2/ie_kalibr_image:latest
# ulong2/ie_kalibr_image:latest为镜像名称,根据实际情况更改该名称即可
# --rm为可选项,可删除

验证方法:

# 在容器中安装软件
apt install x11-apps
# 在容器中启动时钟的图形界面
xclock

如果显示时钟图形界面,则表明在Docker容器中可实现图形可视化。

参考文献

[1] iKalibr
[2] Docker, X11 fails to open display

http://www.dtcms.com/a/541348.html

相关文章:

  • Spring DAO与JDBC优化实战
  • asp access网站架设教程网站如何做即时聊天
  • R 语言科研绘图第 80 期 --- 词云图
  • 通信算法之336 :3GPPMixed Mode Turbo Decoder
  • 如何创建自己的网站店面设计装修网
  • 【软考】信息系统项目管理师
  • WEBSTORM前端 —— 第6章:JavaScript进阶 —— 第2节:构造函数数据常用函数
  • 可以做软件的网站有哪些功能吗现在最火的推广平台有哪些
  • 数字化总架构师:在浪潮中锚定方向,成就组织与自我梦想
  • 网站开发主流语言用文字工具在页面中间输入主标题和副
  • Linux - ab压力测试
  • React 实现 i18next 中英文切换集成
  • 智能无人仓库管理系统(含详细码源~基于React+TypeScript+Vite):
  • 开一家网站建设公司怎样机械设备网站源码
  • 成都网站建设 雷wordpress上传代码
  • 家电维修怎么自己做网站设计官网收费标准
  • HTML 事件
  • 南京网站优化建站芜湖中凡网站建设公司
  • Altium Designer22.0.2-----1:1打印PCB对比实体板
  • 绍兴建设局网站首页wordpress阿里云域名转移
  • 淮南商城网站建设地址wordpress 安装平台
  • 【音视频】DASH 和 SRT协议与传统协议对比
  • 取证考核(10.28)
  • QPSK调制在瑞利、高斯和莱斯信道下的MATLAB仿真
  • Spring 事件实战及进阶特性
  • Three.js 核心技术:相机(正交 / 透视)、动画与资源加载、音视频播放、事件绑定等解析
  • 搭建公司内部网站网络营销方案的制定
  • centos yum源和epel源更换
  • 西宁平台网站建设杭州商城网站建设
  • 2.3、智能入侵检测:基于机器学习的网络流量异常发现