我在打开正在运行的容器中的任何 GUI 应用程序时遇到问题。简而言之,我总是从不同的应用程序收到类似的“无法打开显示”错误。
平台
主机:Ubuntu 22.04
Docker:Docker 桌面 4.15
图像:kalibr(一些基于 Ubuntu 20.04 和 ROS Noetic 的图像)[附注:我也尝试在普通的 ubuntu:latest 图像上运行简单的 xclock]
运行命令
docker run -it --network=host -e DISPLAY -v "/tmp/.X11-unix:/tmp/.X11-unix:rw" -v <another bind mount> <image name>
我也尝试过:
xhost +local:root
,,xhost +local:docker
甚至xhost +
在运行容器之前--privileged
--runtime=runc
DISPLAY=127.0.1.1:1
(即我的主机IP)DISPLAY=unix$DISPLAY
额外信息
容器中的一些环境变量:
HOSTNAME=docker-desktop
DISPLAY=:1
QT_X11_NO_MITSHM=1
QEMU/KVM 虚拟化是否是问题的根源,因为它是 Docker Desktop(而不仅仅是 Docker Engine)?
干杯