Open Ubuntu Bash's GUI applications on Windows 10

I have installed Windows 10 Insider build just to use Ubuntu Bash. I noticed its entire Ubuntu on Windows so I tried to install a GUI app i.e. Gedit. It was installed properly but when I try to open it. I see an error

root@ACERASPIRE:~# gedit
error: XDG_RUNTIME_DIR not set in the environment.

(gedit:3994): Gtk-WARNING **: cannot open display:
root@ACERASPIRE:~#

Is it possible to fix this issue or get Ubuntu's GUI applications running on Windows 10. I think someone has a work around for this here


Solution 1:

I got it working by installing x11-apps to get the X subsystem, then running a X listener like XMING or XManager on the Windows10 side. Set the display in bash with the following:

export DISPLAY=:0

(You also can add export DISPLAY=:0 to the last line of your user's .bashrc file)

Then run xclock to verify.

Solution 2:

Here is an attempt to work around the lack of a functioning X server on Windows. I have no way to try this as I don't have Windows 10.

Install Xvfb:

sudo apt-get install xvfb

Run Xvfb on display :0 (let it running):

Xvfb :0 -screen 0 1920x1080x24 +extension GLX -nolisten tcp -dpi 96

Start gedit:

export DISPLAY=:0
gedit

If you don't get any error messages in the steps above, you're good. Then you can install a VNC server:

sudo apt-get install x11vnc

Create a password:

x11vnc -storepasswd yourpassword

Connect it to display :0 and listen on localhost on port 5900:

x11vnc -safer -localhost -usepw -shared -forever -repeat -no6 -display :0 -rfbport 5900

Then you need to install a native Windows VNC client. TigerVNC or TightVNC are popular. You should then connect it to 127.0.0.1:5900.