解决docker无法打开UI界面问题(error: cannot open display)

在项目搭建过程中,遇到了docker中无法显示UI界面的问题,参考了这篇文章,并使用了其中的方法一进行了解决。要点信息摘录如下:

原理上可以把docker镜像看做一台没配显示器的电脑,程序可以运行,但是没地方显示。而linux目前的主流图像界面服务X11又支持 客户端/服务端(Client/Server)的工作模式。只要在容器启动的时候,将 『unix:端口』或『主机名:端口』共享给docker,docker 就可以通过端口找到显示输出的地方,和linux系统共用显示。

按照文章要求我重新修改了构建容器时的代码,今后构建Cyberdog2容器时,可以通过下述修改,直接创建一个支持UI界面的docker。具体命令如下:

bash 复制代码
sudo docker run --privileged=true -it --name <新建容器的名称> \
  -v <关联到的容器外部目录>:<关联到的容器内部目录> \
  -v /tmp/.X11-unix:/tmp/.X11-unix \
  -e DISPLAY=unix$DISPLAY \
  -e GDK_SCALE \
  -e GDK_DPI_SCALE \
  cyberdog_v1.3:1.0.0 bash
相关推荐
一路往蓝-Anbo4 小时前
第 9 章:Linux 设备树 (DTS) ——屏蔽与独占外设
linux·运维·服务器·人工智能·stm32·嵌入式硬件
钛态5 小时前
Flutter for OpenHarmony:dio_cookie_manager 让 Dio 发挥会话管理能力,像浏览器一样自动处理 Cookie 深度解析与鸿蒙适配指南
android·linux·运维·flutter·ui·华为·harmonyos
王码码20355 小时前
Flutter for OpenHarmony:Flutter 三方库 bluez 玩转 Linux 风格的蓝牙操作(蓝牙底层互操作)
linux·运维·服务器·前端·flutter·云原生·harmonyos
努力搬砖的咸鱼5 小时前
一个域名搞定前后端:用 Ingress 配置 / 和 /api 路由
微服务·云原生·容器·架构·kubernetes
吕司6 小时前
Linux信号产生
linux·运维·服务器
打码人的日常分享7 小时前
数据中心信息中心信息科管理制度
大数据·运维·网络·云计算·制造
Zhu_S W8 小时前
Kubernetes (K8s) 完全指南:Java 开发者的容器编排实践
java·容器·kubernetes
juncaixingchilove8 小时前
Linux轻量级浏览器
运维·服务器
cuijiecheng20188 小时前
Linux下MyIpAdd库的使用
linux·运维·服务器
杨浦老苏9 小时前
AI提示词管理工具AiShort
人工智能·docker·ai·群晖