Python Tkinter in Docker .TclError: couldn't connect to display

▼魔方 西西 提交于 2019-12-04 09:15:43
VonC

As described here, you would need an X11 graphic layer.
But since you are already on an '(X)Ubuntu, setting the DISPLAY should be enough:

export DISPLAY=127.0.0.1:0.0

docker run -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix yourImage

Check also XAuthority.

You'll have to set DISPLAY in the container. You can add it as an argument to the docker run command like this:

docker run -ti -e DISPLAY=$DISPLAY blah-image blah-command

DISPLAY should be set in the Xubuntu shell you are running the command from.

Type xhost + in your terminal. Then

docker run --rm \
    --network=host --privileged \
    -v /dev:/dev \
    -e DISPLAY=$DISPLAY \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    -v $HOME/.Xauthority:/root/.Xauthority \
    -it yourimage

worked for me. xhost + disables access control. After which a client can connect from any host.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!