Build The biggest news of Microsoft's annual developer get-together, Build, this year was the arrival of the Linux kernel as part of Windows Subsystem for Linux 2. Oh, and a new tab-happy Windows Terminal? It's in GitHub.
Windows Subsystem for Linux 2
The Windows Subsystem Linux (WSL), which lets you run Linux programs on a Windows box, has seen some serious love from Microsoft as its engineers attempt to demonstrate their commitment to open source and Linux.
As such, the next version of WSL, version 2.0, will, fingers crossed, contains a Linux 4.19 kernel within a so-called utility virtual machine, which will run Linux programs. This is due to arrive "later this year," via Insider builds in June, and the Windows store.
Just stop and think about that for a second. It means when you come to run a program, the Windows kernel will either interface with it directly if it's a Windows application, or allow the Linux kernel to manage it if it's a Linux application. Now you can run Linux software truly natively on the world's largest desktop OS platform, developed by a company that once declared Linux "a cancer."
Using the 4.19 kernel, held within a lightweight virtual machine, rather than relying on a Windows-Linux translation layer of earlier incarnations of WSL, should in theory bring about a jump in file I/O performance, improve software compatibility, and allow Docker to run natively. In other words, rather than the Windows 10 kernel emulating the Linux kernel and its software interfaces, the open-source kernel code, and its programs, run fully natively.
Rather than emulating the Linux kernel, Windows will now ship a full Linux kernel. Makes for a great developer system for those deploying to Linux servers https://t.co/aAccRoETM5— Miguel de Icaza (@migueldeicaza) May 6, 2019
It's based on the same low-level technology found in Microsoft's Azure cloud, where it cuts boot time and streamlines Linux memory usage. We're told people will eventually be given instructions and code on GitHub to roll their own WSL 2 kernels, if the supplied 4.19 one doesn't float your boat. The WSL 2 Linux kernel has its own ext4 file system, communicates with the Windows host kernel via 9P, and runs on Windows' built-in hypervisor.
As one wag observed at today's event in Seattle, "the Year of Linux on the desktop at last!"
Except not quite in the way many Linux obsessives may have hoped.
Windows Terminal is anything but terminal
Not content with flinging WSL 2 teasers at Build attendees, Microsoft also revealed a preview of its latest crack at a command-line console in the form of the Windows Terminal.
Windows has a number of command-line interfaces, and the new Terminal is yet another attempt at managing systems via a shell and the likes of PowerShell, WSL, and cmd.exe. The new Windows Terminal implements tabs and tear-away windows, for those still mourning the passing of Sets. Themes and extensions are also available in the application for tweak-fans, as well as support for East Asian fonts and, wait for it, emojis.
And yes, a primary goal of the project is to maintain backwards compatibility with existing console subsystem applications among all the other developer goodness.
However, what will send eyebrows skywards is the arrival of the source code on Microsoft-owned GitHub along with the source code from which
conhost.exe, Microsoft's original command line tool, is built. If you want to play with the new Terminal now, you'll have to build it by hand, or wait for a binary download to be offered from the Windows store around summertime.
A key component of the Windows operating system hopping into the open source world will leave a good few jaws slackened. So, you're not a fan of how the new Windows Terminal does stuff? Perhaps a Git pull request or two may be called for. ®