I saw an article this morning over on ZDNet about how 2020 will be the year of Linux on the Windows desktop. The contention is that, since WSL (Windows Subsystem for Linux) now supports a legit GUI out of the box, that people will start using it for all kinds of stuff.

No doubt they’re probably right, but I have to say that I’m wondering a bit about why WSL is appealing in the first place. Now, don’t get me wrong — back in the day when I was running Windows as my primary OS, I tried out WSL (mostly for development purposes) and before that I used cygwin for the same reason. So I get the utility. Plus the WSL file access saves me the hassle of having to type the extra characters in creating a symbolic link to /mnt/c instead of the oh-so-time-consuming /cygdrive/c. It’s been a while since I used it, but I seem to remember it also translates Windows-style \r\n (carriage return, line feed) to POSIX-style \n (newline). So that’s nice.

But here’s what I don’t understand. Why is it preferable to use WSL as opposed to say, a virtual machine? Like, right now for example I use Linux (Debian) as my primary OS. Linux does most of what I need it to do (see my post about my all in on FOSS experiment), but every once in a while I need to do something on Windows (usually work related). In that case, I’ll power on a VM that has Windows on it; it takes less than 10 seconds to load and I can do exactly what I need to and suspend it when I’m done.

Even better, virtualization lets me do a lot of other things that WSL doesn’t. For example, I can have different VM clones in various configuration states, using the one that I need for a particular task and then either rolling it back to an earlier snapshot or nuking it entirely. Not only can I do it with Windows, but I can do the same things with all sorts of various other OS flavors. With vagrant, I don’t even have to do much configuration work.

I guess what I’m wondering is why WSL exists in the first place. I am probably missing the point, but it strikes me as a less flexible virtual machine that I can only have one of, that I have less ability to configure, and that I can’t do snapshots with. If someone out in the ether has thoughts on it, would be happy to hear why WSL is more compelling.