Systemd now available in WSL

Systemd is Now Available in WSL, a Few Days After Systemd Creator Joins Microsoft

The Systemd service is now available in Windows 11 via WSL.

When Systemd creator Lennart Poettering joined Microsoft in July, it was quite evident that Microsoft was planning to move WSL to the next stage. Yesterday, Microsoft announced that the Systemd service is availalbe in WSL version 0.67.6 onwards in Windows 11 only.

Necessary architectural changes are done in the WSL code base to allow Systemd service to start with process id 1, which was earlier used by the init process. Now Systemd tarts with PID 1, and the init process becomes the child process of the Systemd services.

What are the impacts of Systemd inside WSL? Well, it will give some advantages to Ubuntu. Because Snap packages by design depend on Systemd. Until now, it was not possible to run the SNap packages inside WSL.

After enabling the Systemd service, you simply install the Snap packages and run. Not only that, this opens up several possibilities as well. The developers can create the Systemd units on their own or start using all the basic building blocks of Linux systems such as Pipewire, NetworkManager and so on inside WSL.

The irony is how “Ubuntu”, “Snap”, and “Windows” becomes friends.

However, this is not a surprise business direction from Microsoft. You got to survive and keep the developers inside the Windows ecosystem at any cost. If you remember Microsoft’s recent directions in terms of Linux/Open-source, they are all calculative approaches.

For example, acquiring GitHub, launching Co-Pilot paid service by letting the AI learn from free and open-source projects, creating difficulties to install Linux via dual-boot, poaching systemd creator… the list goes on.

And it will continue in the future as well in a different capacity.

That said, let’s see how it works.

How Systemd works in WSL

So, if you are running Windows 11 and having WSL version 0.67.6 (check via wsl --version), all you need to do is boot up your Ubuntu or any other Linux distributions via WSL. Then open /etc/wsl.conf file via the terminal and set the systemd switch to true.

[boot]
systemd=true

Since you started the session for the first time without Systemd, you need to restart the WSL to take effect.

wsl.exe --shutdown

After a reboot of your WSL instance, you can verify what Systmed services are running.

systemctl list-unit-files --type=service

Wrapping up

Although it might be beneficial for many developers, but it values nothing to the open-source community. The day is not far when Ubuntu probably becomes a Microsoft-sponsored distro. Who knows what the future holds?

🗨️ What do you think about this development? Let me know in the comment box.

Via devblogs

Subscribe
Notify of

0 Comments
Inline Feedbacks
View all comments