Yes, Microsoft is making it very easy to run the Bash shell of Ubuntu Linux, SUSE, or Fedora, on Windows 10, and no, hell didn't freeze over..
Carmen Crincoli, of Microsoft Storage, posted a tweet: “2017 is finally the year of Linux on the Windows Desktop.”
With the help of Canonical (Ubuntu's parent company), Microsoft managed to add Ubuntu's Bash shell to Windows 10 last year. It can run not in a container or a virtual machine (VM), but with native Windows libraries and programs: Windows Subsystem for Linux (WSL).
As Dustin Kirkland, a member of Canonical's Ubuntu product and strategy executive team, explained at the time, "the open-source Cygwin utilities are compiled from source to run natively on Windows. Here we're talking about bit-for-bit, checksum-for-checksum Ubuntu ELF binaries running directly on Windows."
Kirkland continued by saying of WSL: “It basically translates Linux syscalls into Windows OS syscalls in real time. Linux geeks can think of it as the reverse of ‘WINE’ – Ubuntu binaries that run natively on Windows.”
Since then, Microsoft has continued to improve WSL. The Windows 10 Creators Update added over a hundred new features to WSL. But even before the Windows 10 Creators Update hit, SUSE showed us that you can run an openSUSE Bash shell in WSL.
The only thing that has really changed lately is that it is now much easier to install WSL and Bash with their availability in the Windows Store.
As Terry Myerson, Microsoft's executive vice president for Windows, explained:
“We’ve simplified the installation of Ubuntu by bringing it to the Windows Store. We’re also announcing that we’re working with SUSE Linux and Fedora Linux to run on WSL, to bring them to the Windows Store. Now, Windows is the only platform that can run both Windows and Linux apps side by side.”
In fact, this is not true. Thanks to VMs and WINE, an open source project that translates Windows application programming interfaces (APIs) into Unix-Linux, POSIX calls, one has been able to run Windows applications on Linux for decades.
Aside from Terry Myerson's inaccuracy above, the new feature gives developers and system administrators unlimited possibilities. While the Bash shell won't be very useful to ordinary users, for IT it is a very serious tool to make Windows more useful in a server and cloud world increasingly dominated by Linux. Even in Windows Azure, over a third of servers are Linux.
With Bash and WSL, you can run most shell tools. These include: apt, ssh, rsync, find, grep, awk, sed, sort, xargs, md5sum, gpg, curl, wget, tar, vim, emacs, diff, and patch. You can also run popular open source programming languages, such as python, perl, ruby, php, and gcc.
Additionally, WSL and Bash support server programs like the Apache web server and Oracle's MySQL database management system. In short, you can have a capable Linux development environment that runs on Windows.
This is why, while news of the ability to run the Bash shell on Windows 10 doesn't make headlines on news sites, the more important news is that Microsoft is well on its way to porting the Bash shell to the Azure Portal:
Azure Cloud Shell and Windows Server.
There, developers and administrators will be able to use the same scripts, tools, and container images they use in Linux containers on Azure and Windows Server container hosts using Hyper-V isolation. This is where WSL and Bash will really show their strengths in the IT space.
So, yes, Linux is coming to the Windows desktop, but where it's really going to change things is by making it even easier to run Linux server applications on Azure and Windows Server.
