tkinter in Ubuntu inside Windows 10. Error: "no display name and no $DISPLAY environment variable"

Zach  picture Zach · Jan 14, 2018 · Viewed 18.3k times · Source

I have recently installed the Ubuntu app for Windows 10 so that I can use it for a class.

I am following some cryptic assignment directions to "try out tkinter".

I installed the package python3-tk in the Ubuntu terminal window following instructions located here: How to install and use Tkinter in ubuntu / Debian / Linux mint.

So then I execute

~$ python3

with the result

Python 3.5.2 (default, Aug 18 2017, 17:48:00)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.

then the following commands:

>>> import tkinter
>>> tkinter.Tk()

With the resulting error:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.5/tkinter/__init__.py", line 1871, in __init__
    self.tk = _tkinter.create(screenName, baseName, className, interactive, 
wantobjects, useTk, sync, use)
_tkinter.TclError: no display name and no $DISPLAY environment variable

Answer

Zach  picture Zach · Jan 17, 2018

Solved:

Note: This is when using the Ubuntu App inside Windows 10

Install Xming X server for Windows.

During installation there is an option to set the display to 0.

Add the line export DISPLAY=:0; to .bashrc as suggested.