顺便说一句,我正在使用 wsl2。 我想安装 vscode。在教程中我看到了适当的方法,但看起来太难了。所以我去安装snapd。 Snapd 安装得很好,但是当我运行时
sudo snap install --classic code
它告诉我> error: cannot communicate with server: Post "http://localhost/v2/snaps/code": dial unix /run/snapd.socket: connect: no such file or directory
我尝试查看很多其他论坛。他们都没有帮助我。
snapd 需要 systemd 才能运行,wsl2 不支持开箱即用的 systemd,但您可以在 wsl2 中启用 systemd 这应该可以解决该问题。前几天我也遇到了类似的问题。
您需要编辑 wsl.conf 文件以确保 systemd 在启动时启动。
将这些行添加到
/etc/wsl.conf
(请注意,您需要使用 sudo 权限运行编辑器,例如:sudo nano /etc/wsl.conf
):
[boot]
systemd=true
然后使用 CTRL+O 保存并使用 CTRL+X 退出来关闭 Nano 编辑器。
最后步骤:
完成上述步骤后,关闭 WSL 发行版 Windows 并从 PowerShell 运行 wsl.exe --shutdown 以重新启动 WSL 实例。启动后,您应该运行 systemd。您可以使用命令
systemctl list-unit-files --type=service
进行检查,该命令应显示您的服务状态。