Windows Subsystem for Linux 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-Windows based Linux GUI/desktop environment such as Gnome or KDE (which you see on your linux workstation). For Linux running inside WSL on windows, the desktop and terminal window will look like what you see for the default desktop and terminal settings for that particular linux distribution.

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 the linux path /mnt/c/Users/bill/Downloads in your default shell, e.g., bash, tcsh. This mount point is a convenient way to share files between your Windows home directory and Linux running in WSL. The username you pick when you setup the WSL environment has sudo/admin privileges in the linux environment and need not be the same as your username on the Windows side.

Steps for Setting Up WSL:

  1. Enable WSL on the windows machine +
  2. Install WSL on the windows machine +
  3. Download/install a linux distribution into WSL ++
  4. From a terminal window running inside the linux distribution, download and install freesurfer +++
  5. Download/install an X-server on the windows machine ++++

+ These steps may be combined into a single command for WSL version 2; see the link to the MS documentation. Your windows machine will be updated and re-booted.

++ For a linux distribution we recommend CentOS 7, 8 and Ubuntu 18, 20. Other linux distributions have not been tested.

+++ We recommend using the freesurfer installer packages, i.e., the *.rpm file for (CentOS/RedHat) or the *.deb file for Ubuntu linux. Examples of using the installers on CentOS and Ubuntu are listed below. These installers for the builds can be found via these links,

++++ An example of installing the Xming X-server is listed below. These steps may vary depending upon the network settings on the Windows machine.

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

MS Dcoumentation for WSL version 2 setup and install

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.

Previous instructions for the manual setup and install of WSL version 1 (skip if using WSL version 2), Enable WSL version 1 from PowerShell

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.