通過與Canonical深度合作,微軟今日宣佈WindowsLinux子系統的一項功能更新——WSL2現可在兼容的Linux發行版中運行systemd來管理服務。依賴systemd使用、或想要借此來輕松管理應用程序的Windows10/11用戶,將能夠在本次更新後更輕松地於WSL環境下體驗。
(來自:Microsoft Developer)
微軟在公告中解釋稱:
● 想要支持 systemd,需要對 WSL 的架構加以修改。由於 systemd 需要 PID 1,因此在 Linux 發行版中啟動的 WSL init 進程將成為 systemd 的子進程。
● 其次,WSL init 進程負責為 Linux 和 Windows 組件之間的通信提供基礎設施,因此更改此層次結構需要重新考慮使用 WSL init 進程所做的一些假設。
● 還有其它必要的修改,以確保正常關閉(clean shutdown)系統、並與 WSLg 兼容。
● 同樣重要的是,通過這些更改,systemd 服務將不會讓您的 WSL 實例保持活動狀態。
● 不過相關 WSL 實例,仍可將像之前那樣保持活動狀態(詳情請戳)。
WSL Partnering with Canonical to support systemd(via)
鑒於這番變動會更改 WSL 在啟動時的行為方式,官方建議大傢能夠謹慎地將之應用於現有的 WSL 發行版。
通過有選擇性地啟用 systemd、並積極向微軟提交監測反饋,以便開發團隊能夠深入調查、並為將來的默認設置奠定基礎。
最後,想要在 WSL 環境中體驗 systemd 的用戶,可移步至 Ubuntu 博客(傳送門)以解如何正確啟用。