【问题标题】:How to show GUI apps from docker desktop container on windows 11如何在 Windows 11 上显示来自 docker 桌面容器的 GUI 应用程序
【发布时间】:2022-09-30 04:25:48
【问题描述】:
从这个article 可以看出,Windows 11 原生支持在 wsl 上运行 X11 和 Wayland 应用程序。
我尝试通过一个 docker 容器来做同样的事情,设置环境变量 DISPLAY=\"host.docker.internal:0.0\",并运行一个 gui 应用程序(如 gedit)。但是我得到了这个错误:
Unable to init server: Could not connect: Connection refused
Gtk-WARNING **: 17:05:50.416: cannot open display: host.docker.internal:0.0
标签:
docker
windows-subsystem-for-linux
x11
windows-11
wayland
【解决方案1】:
我在尝试与您相同的事情时偶然发现了您的问题,并且实际上在 this blog post on Microsoft 的帮助下使其工作。我使用基于 Ubuntu 的最小 Dockerfile 并安装gedit:
FROM ubuntu:22.04
RUN apt update -y && apt install -y gedit
CMD ["gedit"]
以通常的方式创建图像,例如docker build . -t guitest:1.0
在 WSL 命令行上,像这样启动它:
docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix \
-v /mnt/wslg:/mnt/wslg \
-e DISPLAY \
-e WAYLAND_DISPLAY \
-e XDG_RUNTIME_DIR \
-e PULSE_SERVER \
guitest:1.0
我希望这对你也有用。