通过与 Canonical 深度合作,微软今日宣布了 Windows Linux 子系统的一项功能更新 —— WSL2 现可在兼容的 Linux 发行版中运行 systemd 来管理服务。依赖 systemd 使用、或想要借此来轻松管理应用程序的 Windows 10 / 11 用户,将能够在本次更新后更轻松地于 WSL 环境下体验。

windows上装unix系统(携手Canonical微软将systemd引入Windows)(1)

(来自: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 发行版。

windows上装unix系统(携手Canonical微软将systemd引入Windows)(2)

通过有选择性地启用 systemd、并积极向微软提交监测反馈,以便开发团队能够深入调查、并为将来的默认设置奠定基础。

windows上装unix系统(携手Canonical微软将systemd引入Windows)(3)

最后,想要在 WSL 环境中体验 systemd 的用户,可移步至 Ubuntu 博客(传送门)以了解如何正确启用。

,