Updated at

Windows Subsystem for Linux is the new toy Microsoft brings to developers. Having played it for one day, I feel it’s still not good enough for daily use, but a possible alternative when necessary.

Not long ago, Windows 10 has released its Anniversary Update, I’ve waited till it’s in the official update channel To be honest, I have little confidence that an Windows 10 update would not cause some regression. Anniversary Update is no exception, there are issues like the machine can not wake up from hibernation, double authorization required by Windows Hello and etc.. It’s still beta, and thus I didn’t expect very much from it.

Installation

Ever since WSL appeared in the Insider preview channel, there were many articles covering the installation. The installation from the official update channel remains almost the same as in preview. It’s very easy and smooth Hmmm… maybe worth mentioning, I’ve updated two machines to the Anniversary Update, one of them breaked VirtualBox. Reinstalling VirtualBox fixed it.. CLI tools like lxrun are really nice To avoid confusion, lxrun is only used to manage installation of linux subsystem, Linux subsystem needs to be enabled first. There is a PowerShell guide to enable WSL in CLI..

Usage

Packages can be installed from the official Ubuntu repo. One thing suspicious is the lack of many Ubuntu mirrors in the repo mirror list. Maybe it’s due to the fact that WSL is still Beta?

To my surprise, tmux is pre-installed. The default console host is not to my taste and I tried to run rxvt-unicode, which failed with errors about missing tty files and etc. This is understandable, not much has been done for things under /dev.

Then I tried to ping and it didn’t work for some permission issues.

GUI-Emacs failed to work The CLI version worked without a problem, but these days in terminal I actually prefer vim over Emacs., but GUI-Spacemacs can almost work. The vanilla Emacs window showed up but didn’t react to any input. Spacemacs started normally but the window could not be resized, startup parameters like geometry settings didn’t work. The fact that Spacemacs can “work” but the vanilla one doesn’t is really intriguing, though I didn’t spend effort to investigate the cause. I’ve followed threads like this one to install VcXsrv VcXsrv is an open source fork of Xming. The latter has stopped updating its open source version in favour of subscription-based support and has some rough edges, which get fixed in VcXsrv. Xming seems to be better known, while I find VcXsrv is easier to use..

I’ve also tried vim-gtk and it did work. gvim seems to be the most taunted working GUI application on WSL.

node and npm can be used normally. At least my small personal projects had run smoothly. It did have some errors at the start, run “npm config set unsafe-perm=true” as suggested in this issue and the rest went without any further issues.

I didn’t try crazy things like a full DE on WSL, but those brave projects are fascinating.

Verdict

For sure, I will not give up my boxerized environment Hmmm…where is my long planned post on this setting? for WSL. It can not replace useful Windows tools like cmder and Emacs on Windows either, so I’ll not use it in my work or personal projects. node seems to be a good thing to have but node can natively run on Windows already and web service stuff might encounter network permission issues like ping down the road.

Cynical Speculation

Despite recent high-profile open source activities from Microsoft Visual Studio Code, TypeScript, ChakraCore to name some of the most popular., WSL is not open source. This might root from the close integration with the Windows kernel. Understandable? Maybe, but it’s a disappointment nevertheless. Some discussions online also shows that this is not the first time Microsoft tries to do something like this.

My gut feelings is that Microsoft is just staging a show here. All in the effort to put Windows back into developers’ mind and back onto the focus of media. Just looks at the published name used in media - Bash on Ubuntu on Windows, what a mouthful, lousy name! But it is carefully picked, and sorted in terms’ popularity in developers’ mind: Bash, Ubuntu and Windows - A bad name on its own right, a good marketing strategy in today’s IT context. Windows piggybacks upon Bash and Ubuntu to try to have a come back. Just like someone joked on the web about WSL: it’s “Linux without the Linux part” or “GNU/NT”. Someone followed up: “Richard Stallman must be so proud.” ;P

However, it’s still an interesting show, and despite the caution for investing on this WSL thing, the sheer number of issues at Github have shown that there are people can benefit from WSL.


Comment: Github Issue