Microsoft is making it easy to activate the Linux Bash shell on Windows. More importantly, it's also bringing the Linux Bash shell to Azure and Windows Server.
2017: The year of the Linux desktop on the Windows desktop.
Yes, Microsoft is making it much easier to run the Bash shell, based on Ubuntu, and soon SUSE or Fedora, on Windows 10. No, hell hasn't frozen over.
True, Carmen Crincoli, Microsoft's Storage independent hardware vendor partner manager, tweeted: "2017 is finally the year of Linux on the Desktop. It's just that the Desktop is Windows." But, this isn't as new as you might think it is.
You see, with Canonical's help (Ubuntu's parent company), Microsoft brought the Ubuntu Linux Bash shell to Windows 10 last year. This runs, not in a container or virtual machine (VM), but on Windows native 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, Cygwin's "open source utilities are recompiled from source to run natively in Windows. Here, we're talking about bit-for-bit, checksum-for-checksum Ubuntu ELF binaries running directly in Windows."
Kirkland continued, WSL "basically perform real time translation of Linux syscalls into Windows OS syscalls. Linux geeks can think of it sort of the inverse of ' WINE' -- Ubuntu binaries running natively in Windows."
Since then, Microsoft has continued to improve WSL. Windows 10 Creators Update added more than a hundred new features to WSL. Even before Creators Update showed up, SUSE has shown you could run an openSUSE Linux Bash shell on WSL.
The only problem was getting Bash up and running on WSL took many steps. It wasn't that hard, but it wasn't that easy either.
All that has really changed in this latest news is it's now much easier to install WSL and Bash. By making it available via the Windows Store.
As Terry Myerson, Microsoft Executive VP of Windows and Devices, said, "We've simplified the install of Ubuntu by bringing it to the Windows Store. We also announced we are working with SUSE Linux and Fedora Linux running on the Windows Subsystem for Linux -- to bring them to the Windows Store. Now, Windows is the only platform that can run both Windows apps and Linux apps side-by-side."
Actually, that's never been true. Thanks to VMs and WINE, an open-source project, which translates Windows application programming interfaces (API) into Unix and Linux POSIX calls on-the-fly, I've been running Windows on Linux for decades.
That aside, it will make it much easier for developers and system administrators to run Linux shell commands on Windows. While this isn't very useful for ordinary desktop users, for serious IT staff it's a real step forward in making Windows more useful in a server and cloud world that's increasingly dominated by Linux. Even on Windows Azure, over a third of server instances are now Linux.
With Bash and WSL, you can run most Linux 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. In addition, WSL and Bash supports server programs such as the Apache web-server and Oracle's MySQL database management system. In short, you get a capable Linux development environment running on Windows.
That's why, while the news about being able to run Linux shells on Windows 10 is getting the biggest headlines, the more important news is that Microsoft is well on its way to porting Bash shell into its Azure Portal: Azure Cloud Shell and Windows Server. There, developers and admins will be able to use the same scripts, tools, and container images that they've been using for Linux containers on Azure and Windows Server container hosts using Hyper-V isolation. Here, WSL and Bash will really show up their IT benefits.
So, yes, Linux is coming to the Windows desktop, but where it's really going to change things is by making it easier still to run Linux server applications on Azure and Windows Server.