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

docker(3) -- 图形界面

1. 前言

在wsl(8) – 图形界面文章中介绍了wsl2默认是支持图形界面的,现在我们尝试下在docker中运行gui程序试试看。

2. x11-apps

  1. 启动一个docker,安装一些gui小程序,然后运行,发现会失败。ubuntu_base详见文章wsl(6) – 安装docker。
# ubuntu_base是我基于ubuntu编译的一个镜像
$ docker run -it ubuntu_base
# 此处进入容器,更新包缓存
xflm@92d001fc657f:~$ sudo apt update
# 安装几个x11小程序
xflm@92d001fc657f:~$ sudo apt install x11-apps
# 运行一个gui程序
xflm@92d001fc657f:~$ xeyes
Error: Can't open display:
# 查看环境变量DISPLAY为空,表示没有定义
xflm@92d001fc657f:~$ echo $DISPLAY
  1. wsl中的/tmp/.X11-unix/X0映射到docker中,然后设置docker的DISPLAY环境变量。docker_path详见文章docker(2) – 启动后修改目录和网络。
# 退出容器,回到wsl中,使用docker_path脚本向docker中添加文件
$ docker_path 92d001fc657f /tmp/.X11-unix/X0:/tmp/.X11-unix/X0
# 重新启动容器
$ docker start -i 92d001fc657f 
# 进入容器,可以看到文件添加成功
xflm@92d001fc657f:~$ ll /tmp/.X11-unix/X0
srwxrwxrwx 1 ubuntu ubuntu 0 Apr 27 15:03 /tmp/.X11-unix/X0
# 设置DISPLAY环境变量
xflm@92d001fc657f:~$ export DISPLAY=:0
# 运行gui和层序,可以正常显示
xflm@92d001fc657f:~$ xeyes

3. 启动参数

由上可知,docker可以使用宿主机wsl的xserver进行图像显示,但是需要将宿主机的unix socket映射到docker中,因此我们可以在启动docker时就映射好。

# -it 使用当前终端交互的方式运行容器
# -e 用于追加环境变量
# -v 用于挂载宿主中的文件到docker中
# 容器关闭后,重启容器,环境变量DISPLAY和挂载的X0文件仍将存在
$ docker run -it -e DISPLAY=:0 -v /tmp/.X11-unix/X0:/tmp/.X11-unix/X0 ubuntu_base

上一篇:docker(2) – 启动后修改目录和网络
下一篇:docker(3) – 图形界面
目录:全部文章合集

相关文章:

  • 驱动开发硬核特训 · Day 22(下篇): # 深入理解 Power-domain 框架:概念、功能与完整代码剖析
  • 《操作系统真象还原》第十章(1)——输入输出系统
  • 加密算法 AES、RSA、MD5、SM2 的对比分析与案例(AI)
  • 「Docker已死?」:基于Wasm容器的新型交付体系如何颠覆十二因素应用宣言
  • 2025.4.21-2025.4.26学习周报
  • 泰迪杯实战案例超深度解析:基于YOLOv5的农田害虫图像识别系统设计
  • 「Mac畅玩AIGC与多模态04」开发篇01 - 创建第一个 LLM 对话应用
  • 迷你世界UGC3.0脚本Wiki组件事件管理
  • 显存在哪里看 分享查看及优化方法
  • 分布式一致性算法起源思考与应用
  • 从“世界工厂”到“智造之都”:双运放如何改写东莞产业基因?
  • 云原生--核心组件-容器篇-5-Docker核心之-容器
  • 大模型、知识图谱和强化学习三者的结合,可以形成哪些研究方向?
  • 给视频自动打字幕:从Humanoid-X、UH-1到首个人形VLA Humanoid-VLA:迈向整合第一人称视角的通用人形控制
  • 蓝桥杯 1. 确定字符串是否包含唯一字符
  • Suna开源框架分析
  • 广度优先搜索(BFS)算法详解
  • openinstall+Web-to-app归因解决方案
  • 在linux系统中安装ktransformersV0.24部署deepseek r1模型并用open AI风格调用
  • SpringMVC 静态资源处理 mvc:default-servlet-handler
  • 华侨城A:一季度营收53.63亿元,净利润亏损14.19亿元
  • “五一”假期倒计时,节前错峰出游机票降价四成
  • 第五届全国医院人文管理路演在昆山举办:患者体验才是温度计
  • 杭州6宗涉宅用地收金125.76亿元,萧山区地块楼面价冲破5万元/平米
  • 央行副行长:增强外汇市场韧性,坚决对市场顺周期行为进行纠偏
  • 央媒关注给保洁人员设休息室:让每一份踏实奋斗得到尊重呵护