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
.
∎