Try Out Bash on Unbuntu on Windows
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.
∎