I love Linux, in all its cranky glory. I don’t run GUIs with it – I’m mostly lost within X and generally just script everything I want to do. I have a separate server in my basement/furnace room that I SSH to (thus the lack of GUIs) which serves as my media server, running Plex. Over time it’s had duty after duty but thanks to the Windows Subsystem for Linux I can probably retire one of those duties: acting as a proxy for applications I can’t install on Windows.
So, to start, we have to turn on Developer Mode for your copy of Windows 10. This is done by visiting the Settings app.
Towards the bottom of the left hand menu that appears you’ll find a For developers option. Click that.
Select Install any signed and trusted app and use advanced development features from the screen which shows up.
Close out of the Update & Security screen and return to the Start menu. Search for Windows Features and click the option which appears:
Scroll down the list until you find Windows Subsystem for Linux (Beta). Check the box, then click OK.
It’s going to inform you that you have to reboot your computer to continue. Make peace with your running applications, reboot, and return here when you’re back online.
Once you’ve back online, use the Start Menu to open a Command Prompt.
At the command prompt (which, surprisingly doesn’t require administrator privileges) type bash. You’ll be prompted for a y to continue installing Ubuntu on Windows. Hit y and continue.
The application will begin to download around 1GB from the Windows Store. (At reduced speeds; not sure if there’s a limiter in the WSL network system.) When it’s finished it will then begin to extract the file which takes a good bit of time.
After this it’s going to ask you for a UNIX username and a UNIX password. These are completely separate from your Windows account; the UNIX password should be something you’re comfortable typing repeatedly as it will be your gateway to sudo.
At this point you’re free to try whatever you want that you couldn’t do on Windows but could do on Linux. Be aware that we’re not running Linux – the Windows Subsystem for Linux is providing an API that the applications are consuming. It’s basically a compatibility shim between the Windows API and Linux applications.
My understanding is that IPC is broken because sockets and dbus aren’t implemented in the WSL. There’s a workaround that uses TCP/IP but it’s unstable.
Still, there’s an awful lot we can run now that wasn’t runnable before. And there’s folks pushing the limits even on that.