Saturday, September 24, 2016

Getting Started with Bash on Ubuntu on Windows



One of the new features in Windows 10 is the Bash shell.  More accurately, “Bash on Ubuntu on Windows”.  I have seen mixed opinions about whether this is a good thing or not.  However, I think it is without a doubt a significant improvement for server side developers.  Previously, I would have only used XUbuntu or OSX for server side development for both the seamlessness of ssh connections and support for various tools (such as command line Git).  Now, doing this on Windows is a reasonable option.

In the not very distant past, I was working on a team doing some Node.js development on Ubuntu.  Part of the group was inexperienced on several of the key tools, including Git.  They were also the part using Windows for this development.  This led to using the Git graphical interface on Windows, which compounded the lack of understanding what was going on under the hood in Git and ultimately led to some problems.  A regular “UNIX style” command line would have gone a long way to ameliorating this situation and bringing them up to speed.

Back in the present, installation of the Ubuntu subsystem was pretty straightforward.  There are various pages found easily enough that explain what to do.  During the installation, it asks you for a UNIX username and password.  I had seen one installation instruction page that said this was root account, but I think they just misused the term.  It is a regular account with sudo privileges, just like a standard Ubuntu installation.

From a version standpoint, ‘lsb_release –a’ reveals it is “Ubuntu 14.04.4 LTS” with ‘uname –a’ giving the kernel release at 3.4.0+ .  That seems pretty reasonable considering 1) when this subsystem first came out for Windows and 2) Ubuntu 14.04.4 was out in February 2016 while 14.04.5 was out in August 2016 according to the release schedule here:  https://wiki.ubuntu.com/TrustyTahr/ReleaseSchedule

In gathering information from the Bash window, I noticed that the copy and paste facility is a bit clunky.  Selecting text for copying only works if the window is put into what appears to be “Mark” mode by using the right-click popup menu.  This appears to be the same as how it works in a standard Windows command line window.  The paste mechanism works ok from the popup menu, but ctrl/v does not work, although in a standard Windows command line the ctrl/v key combination does work correctly.

Starting with Git: 
I did an apt-get install git from a root shell which went entirely as expected.  The version that installed was 1.9.1.  Since the version that just installed on a machine running XUbuntu 16.04 LTS was 2.7.4, it is of course not the most current. However, it is the version you would expect to appear on 14.04.4.  It is the same version that apt-get tells me is the newest version on a machine running XUbuntu 14.04.5.  Anyway, cloning a repository onto the Bash subsystem went as expected.

Follow on thoughts:  How well will this work as a server?

No comments:

Post a Comment