Windows Subsystem for Linux
This guide is by no means unique: there are plenty like it, and others may be more similar to your setup. I've written this as a sort of preface to my other guides: this is the exact configuration I use, so I've worked through any issues. If you have any problems that I didn't encounter, feel free to let me know.
WSL: the Windows Subsystem for Linux
The first step is to enable Microsoft's Windows Subsystem for Linux. Before we do so, it is important to make sure that your computer is as up-to-date as possible. Head over to "Check for updates" in your settings and install anything there before moving on.
As a last check, go to "About your PC" in settings and scroll down to the bottom. The Edition needs to be something other than Windows 10 S and the Version needs to be at least 1709. This guide was written for version 1809, so try to have the most recent thing.
Next, we have to enable WSL as a Windows feature. Press the Windows key and search for "Turn Windows features on or off," and check the box for "Windows Subsystem for Linux" towards the bottom. Apply those changes and restart.
There's a few different Linux distributions available for installation with WSL; Ubuntu is the flavor I prefer since it is fairly universal and beginner-friendly without losing capability.
Press the Windows key and search for "Ubuntu" and the app should come up from the Microsoft Store, but if it doesn't, you can open the store manually and search for it there. I've used the default "Ubuntu" app (not any of the specifically versioned ones). Go ahead and install it, and launch it when it is done.
When you launch Ubuntu for the first time, it will run its own installation process for a few minutes.
When its done, it will ask you to make a username and password. Both can be anything you like. Note that when you are typing the password, you won't see any characters come up: that is totally normal (think of it like the dot • that you see when you type in a password online).
Making Metadata Work
Everything would work fine as is, but Microsoft has made improvements to WSL since it was first released. One of these is having WSL work better with Windows permissions. The easiest way to enable this is to simply add a configuration file so that the improvements will be enabled the next time we start a WSL instance. We can use the
nano text editor here:
sudo nano /etc/wsl.conf
- Enter the following two lines into that new file:
[automount] options = "metadata,umask=22,fmask=111"
- Press Ctrl+O and press enter to save the file
- Press Ctrl+X to exit back to the console
There's more info on what exactly this does in my post on filesystem coloring in WSL and we'll get more practice with
nano in setting up Zsh, but it good to have this development enabled from the beginning.
And just like that, we have Ubuntu Linux running on WSL . . . in an ugly black box with tiny font. We have the key foundation, though: now, we can get an emulator to make it prettier, use the Zsh shell for better ease of use, and integrate our setup with the rest of Windows.