Enabled Windows Subsystem for Linux
First step is to make sure you have Windows 10 Fall Creators Update installed. This can be found here. Complete this update then search for Ubuntu in the Microsoft Store. I recommend Ubuntu 18.04 LTS, as this will be supported for a number of years forward.

Once it’s installed launch Ubuntu, follow the on screen steps to complete setup.

Setup X-Server
You will need an X-Server to run the graphical environment from your WSL. For this article I choose VcXsrv. Any X-Server for Windows should work. Download and run the executable.

For this example, I have chosen to use “One large window” your preferences may vary. Click Next.

Select “Start no client” and click Next. We currently do not want to start any client.

Choose “Disable access control” for now to allow your connections.

Click Finish and you should now see a new window appear on your desktop.

To have VcXsrv start automatically when you start your computer. Copy a shortcut to the C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp directory.
Next, we need to configure your .bashrc to use your Xserver display. Next we
echo "export DISPLAY=:0.0" >> ~/.bashrc
Enable D-Bus
Reddit user name ShaRose found how to enable D-Bus to use tcp instead of sockets. This provides a critical missing piece with having a Linux GUI on Windows 10. To do this run the following command:
sudo systemctl enable dbus
Installing Ubuntu’s Graphical system
The first step is to make sure your Ubuntu environment is fully updated. So run the following commands.
sudo apt-get update
sudo apt-get upgrade
Installing Xfce4 as your Desktop
Now that your environment is all updated, we need to install xfce4 the Ubuntu Graphical Desktop. There are other desktop systems, try these at your own risk.
sudo apt-get install xubuntu-desktop
Run the following command to start Xfce4.
startxfce4
Now look at your VcXsrv Window

Congratulations you now have Linux Desktop on Windows 10.