在 Windows 11 上为 WSL2 启用 systemd 的指南
Windows 的 Linux 子系统 (WSL) 拥有庞大的社区支持,其中 systemd 是开发人员最迫切的需求之一。尽管如此,一些项目,如 一个脚本-wsl2-systemd 和 精灵,已经在 WSL2 上实现了 systemd。 考虑到用户对 systemd 在 WSL2 中实现的热情,微软与 Ubuntu 的发行商 Canonical 合作,为 Linux 的 Windows 子系统提供官方 systemd 支持。 现在,开发者只需五个简单步骤即可在 Windows 11 中为 WSL2 启用 systemd。 如果您感兴趣,请继续阅读,了解如何在 Windows 11 中为 WSL2 开启 systemd。
Windows 11 (2022) 中为 WSL2 启用 Systemd
本教程将详细介绍如何在 Windows 11 中为 Linux 的 Windows 子系统启用 systemd,并提供关于此主题的简要解释。
什么是 Linux 中的 Systemd?
Systemd 是一个用于基于 Linux 的操作系统的系统和服务管理器。它的主要职责是在 Linux 系统启动时启动系统组件和服务。可以将其视为父进程,它会初始化所有其他进程,因此其进程 ID (PID) 为 1。那么,为什么 Linux 的 Windows 子系统支持 systemd 如此重要呢?
首先,systemd 为 WSL 带来了一个近乎原生的软件环境。基本上,您在裸机安装中从 Ubuntu 获得的内容,在 WSL 中也会获得相同的环境。此外,许多服务,如 Snap、microk8s 和 Kubernetes,都需要 systemd 才能正常运行。因此,在微软的官方支持下,开发人员现在可以在 Windows 和 Linux 上工作,同时充分利用 WSL2 的真正潜力,而不会有任何缺失。
安装最新版本的 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”。
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 商店的最新指南。最后,如果您有任何疑问,请在下面的评论区告诉我们。