如何在Windows 11的Docker Desktop容器中显示GUI应用
解决WSL中Docker容器GUI应用连接拒绝问题
确认WSL图形服务状态
先在WSL终端执行echo $DISPLAY,正常应输出:0或localhost:0.0。若为空,执行wsl --shutdown重启WSL后再试。修正DISPLAY变量传递方式
无需手动指定host.docker.internal:0.0,直接传递WSL主机的DISPLAY变量,同时挂载X11套接字目录:# WSL终端中执行 docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix [你的镜像名] gedit若在Windows PowerShell中操作,先获取WSL的DISPLAY值再运行:
$DISPLAY = wsl.exe echo '$DISPLAY' docker run -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix [你的镜像名] gedit授权本地Xserver访问
在WSL终端执行xhost +local:,允许本地容器连接Xserver(避免使用xhost +,防止不安全的全局访问)。可选:使用host网络模式
若使用Docker host网络模式,可省略套接字挂载,直接共享主机网络栈:docker run --net=host -e DISPLAY=$DISPLAY [你的镜像名] gedit
内容的提问来源于stack exchange,提问作者Tian
相关产品推荐
相关产品推荐

