At Build 2016, Microsoft announced, among other things, that developers will soon be able to run Bash on Ubuntu on Windows. If you are interested in this kind of stuff, then I know that you probably already know about this. I was stoked when I heard about this news about two weeks ago but I just did not have the time to blog about it, but now I finally do.
So what does this all mean?
It means that you will be able to run actual Bash on Ubuntu, … on Windows. I know it sounds like I’m just repeating myself here, but the news is that exciting and it almost sounds like it is not real. Many people in the past would have said that hell will freeze if and when something like this happens, and yet here we are.
This is not a Virtual Machine running Ubuntu! This is actual Ubuntu user-mode running on Windows. To accomplish this Microsoft created a Windows Subsystem for Linux. Microsoft has partnered with Canonical, the creators of Ubuntu Linux to make this all possible.
But what does this Really mean?
This is a sign of a ‘personality shift’ in Microsoft. This shows the openness that Microsoft has adopted. They know that to keep Windows relevant now and in the years to come, they need to make developers want to develop FOR Windows and develop ON Windows even if they might not be developing for Windows. We’ve seen this as a reoccurring theme from .NET going open source in 2014, Android app portability, and their recent acquisition of Xamarin.
But this news of Bash on Ubuntu on Windows by Microsoft, going as far as building a brand new Subsystem for Linux is HUGE! It took a while for this to really sink in for many people that I talked with – not that the technology was difficult to understand, but the fact that it was actually happening. It is a big deal – Linux and Windows coming together, open source and Microsoft coming together, Canonical and Microsoft coming together.
Actual Ubuntu user-mode means you will be able to run command-line tools like apt-get, sed, awk, grep, and you can even try Linux-first tools like Ruby, Git, Python, etc. directly on Windows.
This also means that web developers will find it easier to develop on Windows. Having the ability to run Bash on Ubuntu on Windows will make it easier for Start-ups to choose Windows development machines, since most start-ups are initially short on cash and often choose open source software including Linux operating systems, eliminating the need to have separate Linux development machines.
What do I think of this?
If you have not already figured this one out, let me tell you, I’m going nuts over this news. I moved from Mac OS to Windows about 6 months ago, mostly because I believe that Microsoft is really going in the right direction and paving the way to the future with their HoloLens technology, Windows 10 Universal apps, touch screen capabilities for the Windows Operating system and much more. The one thing that I had always missed was the ability to run Linux commands and Bash scripts. Mac OSX is built on Unix so this was never an issue, but it was not possible to do that on Windows. An option was to learn Windows command line, which in all honesty sucks!
I have used Cygwin until now, and for the most part it does the job, but it still was not Linux. From time to time I run into problems with it, installing libraries and programs is okay – it works except when it doesn’t. But now with Bash on Ubuntu on Windows, I’ll have access to Ubuntu’s apt-get – this is amazing!
What is the Future of Bash on Ubuntu on Windows?
For now, Bash on Ubuntu on Windows is still in its beta stage. You will not be able to install it unless you are on “Windows Insider”. I personally will stick to Cygwin for now, until the stable version gets released because currently my main Windows machine is my only Windows machine.
In the future Bash on Ubuntu on Windows is sure to be a better option than Cygwin. Sure Cygwin has been time-tested but the Bundows (there you go, I just coined a new word) has the advantage of the backing from Microsoft and Canonical and it will be using the Windows Subsystem for Linux.
Should you use Bundows?
Yes, and No – it depends on who you are. I would not recommend installing it on your main Windows machine, or if you are not willing to work with something that might not work sometimes – as I said, this is still in beta stage. Do NOT use it on production machines.
If you are a student, then yes, do it now. You should be trying to be on the cutting edge of things, trying betas and alphas, making stuff, breaking stuff, getting stuck and learning from it. In my teens and early twenties, I did a lot of tinkering with different operating systems and programs and that is what taught me so much of what I know.
How to install Bundows?
First you need to be on Windows Insider. You can start here https://insider.windows.com/
Your next step is to turn on or install Bundows: https://blogs.msdn.microsoft.com/commandline/2016/04/06/bash-on-ubuntu-on-windows-download-now-3/