在Ubuntu中的Docker中运行GUI程序

Pau*_*que 0 ubuntu user-interface docker

我曾经使用以下命令运行程序:

docker run -ti \
  --name wireshark \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v $HOME/.Xauthority:/root/.Xauthority \
--privileged \
  -d ubuntu:17.10 /bin/bash
Run Code Online (Sandbox Code Playgroud)

然后我可以使用Ubuntu系统的显示屏运行Wireshark。就像此页面的示例一样:使用docker运行GUI App

现在不起作用。当我运行wireshark时,出现以下错误:

root@5ad127a8333a:/# wireshark 
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
No protocol specified
QXcbConnection: Could not connect to display :0
Aborted (core dumped)
Run Code Online (Sandbox Code Playgroud)

use*_*097 5

有可能解决这个问题

xhost +

但是这样做是明智的

xhost -

在您不再使用此容器之后。

实际上更严格

xhost +local:docker

足够