众所周知,您可以通过将 X11 应用程序/tmp/.X11-unix
作为卷传递并进行DISPLAY
适当设置(例如通过使用转发-e DISPLAY=$DISPLAY
并可能~/.Xauthority
作为卷传递)在 docker 容器中运行 X11 应用程序。此方法要求 docker 守护程序在本地计算机上运行,因为只有在这种情况下,将 unix 套接字转发到容器中以访问 X11 才可能起作用。
但是,如果您在 Windows 上使用 Podman Desktop,则 Windows 上没有 DISPLAY 变量。如果您进入 WSL unix 容器,则可以从该容器访问 X11(使用 WSLg),并且可以按照https://podman-desktop.io/docs/podman/accessing-podman-from-another-wsl-instance中给出的说明将 podman 守护程序作为远程服务器访问。但是您无法转发/tmp/.X11-unix
,因为 docker 守护程序在与 WSL 发行版不同的机器(podman 系统机器)中运行。
有没有一种简单的方法可以在 Windows 上使用 podman 在 Unix 容器中运行 X11 应用程序?