From eBower Wiki
Jump to: navigation, search

There are plenty of pages telling you how to install the Windows Subsystem for Linux (WSL), I'm not here to replicate them. I will, however, give you the short text cheat sheet:

  • Under Updates and Security click on the For Developers link at the bottom left and enable Developer Mode.
  • Under Control Panel, click on Programs and Windows Features to enable the Windows Subsystem for Linux.
  • After a reboot, run "bash" from a command prompt to complete the install.

See, three bullet items instead of a whole page...

Subsystem for Linux vs. VirtualBox

The subsystem provides most of what you need with fewer resources. There's perhaps a bit of a tighter integration into the Windows filesystem, but that's debatable. There is not any memory or disk partitioning. But there's also no real GUI (as of now, but it is possible). If you want a Linux desktop a VM would be the safest bet (well, beyond just a native Linux install, of course). But if you want to use text-based commands the WSL is much more lightweight.

Subsystem for Linux vs. Cygwin

This is more complex. *most* of what I want to do I can do just as easily in Cygwin. The hybrid Linux/Windows UI has some downsides, but also some benefits. The WSL cannot execute Windows binaries, for example. Since one of the things I do daily is run an SSH session to my work VM and open up an RDP session to it I've got a choice: 1. I can open up my Cygwin terminal, use the openssh that's there to create the tunnel, then use the Windows-native RDP connector to get access to my work desktop. 2. I can open up Ubuntu, start the ssh session, then either try to hack rdesktop to work or start the RDP client on Windows manually.

For this use case, 1 is preferred since Cygwin can run Windows executables.

However, management of WSL is just the same as a Linux machine, apt-get is simply fantastic and apt-cyg, while nice, isn't a full-fledged replacement. WSL also just *feels* cleaner. Little things like tab-completing to grep instead of grep.exe