如何在 Windows 11 中为 WSL2 启用 Systemd

适用于 Linux 的 Windows 子系统 (WSL) 有许多社区支持的项目,但 systemd 是开发人员最抢手的需求之一。 已经有项目如 一个脚本-wsl2-systemd精灵 在 Windows 11 和 10 中的 WSL2 上实施 systemd。注意到 WSL2 的 systemd 实施的热情,Microsoft 与 Canonical(Ubuntu 的发行商)合作,为 Linux 的 Windows 子系统提供官方 systemd 支持。 现在,开发人员可以通过 5 个简单的步骤在 Windows 11 中为 WSL2 启用 systemd。 因此,如果您有兴趣,让我们继续学习如何在 Windows 11 中为 WSL2 开启 systemd。

在 Windows 11 (2022) 中为 WSL2 启用 Systemd

在本教程中,我们提到了在 Windows 11 中为适用于 Linux 的 Windows 子系统启用 systemd 的说明以及有关该主题的快速解释器。

  如何在 Windows 10 中使用键盘快捷键捕捉 Windows

Linux 中的 Systemd 是什么?

Systemd 是基于 Linux 的操作系统的系统和服务管理器。 它主要负责在 Linux 系统启动期间启动系统组件和服务。 你可以说它是父进程并初始化所有其他进程,因此它的 PID(进程标识符)是 1。那么现在 Windows 子系统 for Linux 支持 systemd 有什么大不了的?

首先,systemd 为 WSL 带来了近乎原生的软件环境。 基本上,您在裸机安装上从 Ubuntu 获得的内容,在 WSL 中也会获得相同的环境。 除此之外,还有很多像 Snap、microk8s、Kubernetes 等服务,都依赖 systemd 才能正常工作。 因此,在 Microsoft 的官方支持下,开发人员现在可以充分利用 WSL2 的真正潜力,同时在 Windows 和 Linux 上工作,而不会错过任何东西。

安装最新版本的 WSL2

1、首先需要下载特定版本的WSL(0.67.6及以上版本)。 打开 PowerShell 并运行以下命令来检查当前版本。 如果您有更新版本,请直接转到下一部分。

wsl --version

2. 如果您使用的是旧版本,请继续从链接的 Microsoft GitHub 页面下载最新的 WSL 包 这里. 您无需进入预览体验成员频道即可在 Windows 11 中为 WSL2 启用 systemd。

3. 接下来,在您的 Windows 11 PC 上安装适用于 Linux MSIXBUNDLE 包的 Windows 子系统。

4. 之后,以管理员权限打开Windows Terminal。 如果您已经安装了 Linux 发行版,请直接转到下一部分。

5. 接下来,转到 PowerShell 并运行以下命令。 这将安装最新的 Ubuntu 发行版。 如果您想安装任何其他 Linux 发行版,您可以从 Microsoft Store 安装它或运行 wsl –install 以查找所有可用的发行版。

wsl --install Ubuntu

在 Windows 11 中为 WSL2 启用 Systemd

1. 安装 Ubuntu(或您选择的 Linux 发行版)后,以管理员权限再次打开 PowerShell。 然后,从标题栏中的箭头按钮移动到“Ubuntu”。

  修复 FiveM 无法在 Windows 10 中加载 Citizen DLL

2. 设置用户名和密码后,运行以下命令使用 Nano 编辑器编辑“wsl.conf”文件。

sudo nano /etc/wsl.conf

3. 在这里,将以下行添加到文件中。 这将允许您在 Windows 11 计算机上为 WSL2 启用 systemd。

[boot]
systemd=true

4. 要保存并退出 Nano 编辑器,请按“Ctrl + O”并按 Enter。 之后,按“Ctrl + X”。 您现在已经进行了必要的更改。

5. 现在,您需要关闭适用于 Linux 的 Windows 子系统。 为此,关闭 Ubuntu 选项卡并移至 PowerShell 选项卡。 在这里,运行以下命令。

wsl.exe --shutdown

6. 现在,继续从 Windows 终端再次启动 Ubuntu。 默认情况下,Systemd 现在将在后台运行。 要检查,请运行以下命令并查看服务状态。

systemctl list-unit-files --type=service

7. 您现在可以使用 Snap 在 WSL2 上安装 Nextcloud,它依赖于 systemd 才能正常运行。 在这里,在第二个命令中选择您自己的用户名和密码。 如下截图所示,所有Snap服务都正常运行。

sudo snap install nextcloud
sudo nextcloud.manual-install USERNAME PASSWORD
snap services

在适用于 Linux 的 Windows 子系统上打开 Systemd

因此,这些是在 Windows 11 中为 WSL 启用 systemd 所需遵循的步骤。最好的部分是,您无需转到 Insider 频道即可在 Windows 上的 Linux 子系统中启用 systemd。 您可以直接从 GitHub 下载软件包并立即安装。 此外,如果您想在 Windows 11 上安装 Android 应用程序,请前往我们的详细教程。 要在您的 Windows 11 PC 上安装 Google Play 商店,我们为您提供了更新的指南。 最后,如果您有任何疑问,请在下面的评论部分告诉我们。

  修复 Windows 10 中的 Software Reporter Tool 高 CPU 使用率