Microsoft has recently announced Systemd support for Windows Subsystem for Linux (WSL). Starting with Windows 11, Windows will support Linux apps’ launch with Systemd, supporting more app installations.
Systemd Support Adds To Windows Subsystem For Linux (WSL)
Through a recent post, Craig Loewen Program Manager II, Windows Developer Platform, has announced a useful update for Linux users.
As revealed, Microsoft has partnered with Canonical to introduce Systemd support in the Windows Subsystem for Linux (WSL).
Systemd constitutes a core Linux component serving as a program and service manager. It replaces the conventional init common in Unix-based systems. Alongside boot functionalities, systemd also replaces other daemons, managing network connection management, event logging, and device management.
In most Linux distros, systemd runs by default, but WSL used init in its place. This conflict used to create issues when running some Linux apps.
But, with this change, Microsoft believes WSL will provide better services, particularly regarding systemd-dependent apps such as snap, systemctl, and microk8s.
According to Loewen, introducing this change compelled Microsoft to make some major architectural changes within WSL. As stated,
As systemd requires PID 1, the WSL init process started within the Linux distribution becomes a child process of the systemd. Because the WSL init process is responsible for providing the infrastructure for communication between the Linux and Windows components, changing this hierarchy required rethinking some of the assumptions made with the WSL init process.
Microsoft also modified system shutdown to allow systemd take control of it, alongside making it compatible with WSLg.
Since these modifications may cause a change in WSL behavior during boot, Microsoft has presently rolled out systemd support as an optional feature.
Users running WSL version 0.67.6 and above on their systems can get this new feature, enabling which requires configuring the systemd flag set. For this, users should modify the wsl.conf file by adding the following to /etc/wsl.conf
.
[boot]
systemd=true
Whereas users not having the relevant WSL versions can upgrade their devices using the wsl --update
command. (This procedure is particularly applicable for Windows 11 insider build users.)
Users interested to learn more about it can check out this video for details.
Let us know your thoughts in the comments.