Windows Subsystem for Linux (WSL version 2 and 1) Install & Setup

The Windows Subsystem for Linux (WSL) enables a Linux distribution to run in a "virtualized" environment under Windows OS without utilizing a VM host application such as VirtualBox. Common Linux distributions such as Ubuntu, CentOS and Fedora are available from the Windows App store for download and use in WSL; some like Ubuntu Linux are free. WSL is primarily intended to give Windows developers a way to test their applications with Linux based services but not reproduce a complete X based Linux GUI/desktop environment such as Gnome or KDE.

The WSL terminal window resembles what you would see in a terminal on a linux VM hosted on Windows. WSL includes access to your home directory on the Windows side via NTFS. So if your Windows username was "bill" then from the WSL linux terminal window you can see bill's download folder as /mnt/c/Users/bill/Downloads. This mount point is a convenient way to share files between your Windows home directory and WSL. The username you pick to run in the WSL Linux environment has sudo/admin privileges and need not be the same as your username on the Windows side.

To manually setup WSL, the PowerShell must first be used to enable WSL. Then your Windows machine can be updated to install and run WSL. Next, a linux distribution needs to be installed in the WSL environment. Then freesurfer can be installed in the linux distribution; we recommend using one of the freesurfer installer packages, e.g., the *.rpm file for (CentOS/RedHat) or the *.deb file for Ubuntu linux. Finally, an X Windows server needs to be installed in Windows since the Windows OS is driving the graphics hardware which in turn hosts WSL.

As of this writing, WSL version 2 is available. If no version of WSL is currently installed on your Windows machine, then follow these instructions to install WSL version 2,

If you previously installed WSL version 1 on your machine, then you can also install WSL version 2 and pick one version to use as the default. There appears to be no requirement to switch to WSL version 2 if you are already working with WSL version 1. Installing WSL version 2 should not prevent using linux images you've worked with under WSL version 1. The instructions in the link above should work if WSL version 1 is already on your system.

The previous instructions for the manual setup and install of WSL version 1 are listed below (skip if using WSL version 2).

The instructions for installing the Xming X-server may vary depending upon your machines network settings.

Enable WSL Version 1 from PowerShell

Bring up a PowerShell window,

Run the "enable optional feature" command. You should be able to cut and paste the command from the MS documentation, WSL_install

Install Xming X-Server and Fonts

Download a copy of the Xming X-server and the corresponding X-fonts from the (Xming) web site, Xming. The paid 7.x version is preferable to the free 6.X version, however the 7.x version is not free. The examples below will show using the 6.x version, i.e., the 6.x version of the X-server and the 7.x version of the fonts have been downloaded into the Downloads folder in the screen shot below. Please note there are other X-servers available for Windows besides Xming.

First install the Xming server. You can accept the defaults presented by the installer menus including allowing it to install "Xming" and 'Xlaunch" shortcuts on the desktop.

You should have both an Xming and an Xlaunch icon on your desktop after the successful install of Xming.

Next install the corresponding X-fonts,

Now double click the Xlaunch icon and go through the steps below to create and save an X configuration file in the same folder where Xming is installed.

Test Launching Xming

Test to see if the Xming server will run by double clicking on its desktop launch icon. You will probably get a message from Windows Defender reporting it has been blocked from running by default. Give Xming permission to run on both local and public networks.

Once Xming is running, it should be visible by clicking on the small up arrow like symbol in the lower left hand corner of the Windows 10 desktop. This will reveal "hidden" items that are running and Xming (with the X icon) should be one of them. You can right click on it to exit Xming.

Install and Run a Linux OS in WSL

With both WSL enabled and an X server setup under Windows, you are now ready to install and run a Linux distribution in WSL.