You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker Desktop中能否运行GUI应用?挂载/tmp/.X11-unix路径报错求助

解决Docker Desktop中运行GUI应用的路径共享错误

问题原因

Docker Desktop默认不会自动共享/tmp/.X11-unix路径,而这个路径是容器连接主机X服务器、显示GUI界面的关键,因此触发了路径未共享的报错。

解决步骤

1. 在Docker Desktop中添加共享路径

  • 打开Docker Desktop,点击右上角设置图标
  • 进入「资源」→「文件共享」选项卡
  • 点击「+」按钮,输入/tmp/.X11-unix并确认添加
  • 点击「应用并重启」,让设置生效

2. 允许容器访问主机X服务器

在主机终端执行以下命令,放开本地X连接权限:

xhost +local:

如果想更安全,仅允许Docker相关进程访问,可以执行:

xhost +local:docker

3. 调整容器启动命令

原命令中的--runtime nvidia在Docker Desktop中推荐替换为--gpus all(需确保已安装NVIDIA Container Toolkit),同时明确传递DISPLAY变量:

docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY --gpus all -e NVIDIA_DRIVER_CAPABILITIES=all -e NVIDIA_VISIBLE_DEVICES=all --net host --name odroid-ROS2 ubuntu:20.04

针对Windows/macOS的额外配置

如果使用Windows或macOS的Docker Desktop,还需要安装第三方X服务器:

  • Windows:安装VcXsrv,启动时勾选「Disable access control」,并将命令中的DISPLAY变量改为-e DISPLAY=host.docker.internal:0.0
  • macOS:安装XQuartz,在偏好设置的「安全」中勾选「允许网络客户端连接」,执行xhost +localhost后,将命令中的DISPLAY变量改为-e DISPLAY=host.docker.internal:0

内容的提问来源于stack exchange,提问作者moonjy1120

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 01:42:13