Windows Subsystem for Linux
|A component of Microsoft Windows|
Bash running on Windows 10
|Included with||Windows 10 version 1607 and later|
|Replaces||Windows Services for UNIX|
Windows Subsystem for Linux (WSL) is a compatibility layer for running Linux binary executables (in ELF format) natively on Windows 10. WSL provides a Linux-compatible kernel interface developed by Microsoft (containing no Linux kernel code), which can then run a GNU userland on top of it, such as that of Ubuntu, openSUSE, SUSE Linux Enterprise Server, Debian and Kali Linux. Such a userland might contain a Bash shell and command language, with native GNU/Linux command-line tools (sed, awk, etc.) and programming language interpreters (Ruby, Python, etc.).
When introduced with the Anniversary Update, only an Ubuntu image was available. The Fall Creators Update moved the installation process for Linux distributions to the Windows Store, and introduced Fedora and Suse images.
This subsystem cannot run all Linux software, such as 32-bit binaries, or those in need of unimplemented Linux kernel services. It is possible to run some graphical applications by installing an X11 server within the Windows environment. Windows Subsystem for Linux is only available on x64 editions of Windows 10 and can be activated on Windows 10 version 1607 and later.
Microsoft's first foray into achieving Unix-like compatibility on Windows began with the Microsoft POSIX Subsystem, superseded by Windows Services for UNIX via MKS/Interix, which was eventually deprecated with the release of Windows 8.1. The technology behind Windows Subsystem for Linux originated in the unreleased Project Astoria, which enabled some Android applications to run on Windows 10 Mobile. It was first made available in Windows 10 Insider Preview build 14316.
Whereas Microsoft's previous projects and the third-party Cygwin had focused on creating their own unique Unix-like environments based on the POSIX standard, WSL aims for native Linux compatibility. Instead of wrapping non-native functionality into Win32 system calls, WSL leverages the NT kernel executive to serve Linux programs as special, isolated minimal processes (known as "pico-processes") attached to kernel-mode "pico-providers" as dedicated system call and exception handlers distinct from that of a vanilla NT process.
Microsoft envisages WSL as "primarily a tool for developers – especially web developers and those who work on or with open source projects". WSL uses fewer resources than a fully virtualized machine, the most direct way to run Linux software in a Windows environment, while also allowing users to use Windows apps and Linux tools on the same set of files.
- Gerwitz, Mike. "GNU/kWindows". mikegerwitz.com. Retrieved 2018-04-08.
- Harsh, Mike (30 March 2016). "Run Bash on Ubuntu on Windows". Building Apps for Windows. Microsoft.
- Finley, Klint (30 March 2016). "Why Microsoft Making Linux Apps Run on Windows Isn't Crazy". Wired. Condé Nast.
- Kirkland, Dustin (30 March 2016). "Ubuntu on Windows – The Ubuntu Userspace for Windows Developers". Ubuntu Insights. Canonical.
- Hammons, Jack (9 April 2016). "Bash on Ubuntu on Windows". MSDN. Microsoft.
- Get openSUSE Leap 42 - Microsoft Store
- Get SUSE Linux Enterprise Server 12 - Microsoft Store
- Yegulalp, Serdar (2017-05-12). "Windows Subsystem for Linux welcomes Suse and Fedora options". InfoWorld. Retrieved 2017-09-16.
- "Ubuntu now available from the Windows Store!". Windows Command Line Tools For Developers Blog. July 10, 2017. Retrieved 2017-08-11.
- "Debian GNU/Linux for WSL now available in the Windows Store". Windows Command Line Tools For Developers. Retrieved 2018-03-07.
- "Kali Linux in the Windows App Store". Retrieved 2018-03-09.
- "Frequently Asked Questions for WSL". Microsoft. Retrieved 2016-11-13.
- "Please enable WSL to run 32 bit ELF binaries".
- "Support for 32-bit i386 ELF binaries".
- Bright, Peter (6 April 2016). "Why Microsoft needed to make Windows run Linux software". Ars Technica. Condé Nast.
- "Windows 10's Bash shell can run graphical Linux applications with this trick". PC World. Retrieved 28 May 2017.
- Aul, Gabe (6 April 2016). "Announcing Windows 10 Insider Preview Build 14316". Windows Experience Blog. Microsoft.
- "Windows Subsystem for Linux Overview". Windows Subsystem for Linux. Retrieved 2018-04-22.