I am new to python and am trying to build a small app. It needs to be a GUI app and I was wanting to containerise it with docker. I am getting the following error and can not find a solution
No protocol specified
No protocol specified
Traceback (most recent call last):
File "tkinker.py", line 7, in <module>
tinker = Tk()
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1818, in __init__
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
_tkinter.TclError: couldn't connect to display ":0.0"
It starts locally but wont start in docker. My OS is Xubuntu.
I have created a sample app (below), see run-test.sh https://github.com/jeremysells/test/tree/master/docker-tkinter
You'll have to set DISPLAY in the container. You can add it as an argument to the docker run command like this:
DISPLAY should be set in the Xubuntu shell you are running the command from.
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:
Check also XAuthority.