Published 2018-08-20.
Time to read: 1 minutes.

I’ve been using Windows Subsystem for Linux (WSL) headless since it was first released with Windows 10 version 1607 in August 2016. The April 2018 release of Windows 10 (version 1803) significantly improved WSL.
It is possible to work with Ubuntu graphically on a vanilla Windows machine. No special drivers are required. No special Linux or Ubuntu support is required from the computer vendor.
This is my setup for running an X client like
xeyes
or
IntelliJ IDEA from WSL or WSL2,
accessed via a Windows X server like VcXsrv.
These scripts assume Ubuntu 18.04 was installed under WSL.

Essential Scripts
Here are bash scripts to install everything:
Optional Scripts
The remaining scripts are all optional.
VNC
These bash scripts allow VNC to connect to a remote machine or to WSL on the local machine.
Packages and Programming Environments
Installation of various packages and programming environments follow.
Git
Python
NodeJS
Java Virtual Machine
Miscellaneous
Atom Editor
Wine
The advent of WSL means that Wine is no longer required!
Update Aug 17, 2020
Here are my notes on upgrading WSL and WSL2 from Ubuntu 19.11 to Ubuntu 20.04.