WSL2 由 Windows 管理,其根进程是微软的 /init,而非 systemd,因此 systemctl 命令无法直接使用。使用第三方工具创建新环境:可以通过 Linux Namespace 创建一个新的环境,让 systemd 作为 PID 1。为此,需要安装 .NET Core SDK 3.1 和 daemonize,然后使用第三方工具 genie 来运行 systemctl 命令...
https://github.com/gnusij/wsl2-centos7-howto?tab=readme-ov-file 以下是使用 Python2 包装 systemctl 并且成功示例,但不适用于那些明确需要 systemd 的服务。 sudo dnf install python2 sudo mv /usr/bin/systemctl /usr/bin/systemctl.old sudo curl https://raw.githubusercontent.com/gdraheim/docker...
🛠️步骤 1:确认WSL版本为WSL 2 Systemctl命令仅在WSL 2中受支持,因为WSL 1不具备所需的功能。可以通过以下命令检查当前的WSL版本: wsl -l -v 解释:wsl -l -v命令会列出所有安装的Linux发行版及其对应的WSL版本。确保目标发行版的版本号为2。如果不是,可以使用以下命令将其升级: wsl --set-version...
安装常用工具如 wget、vim 等,并更换为国内源以提高软件获取速度。由于 WSL2 使用的是 Windows 的初始化系统,直接运行 systemctl 命令会遇到问题。因此,需要创建一个新的 Namespace,并将 systemd 作为 PID 1 来执行。安装并使用 genie 工具:genie 是一个可以帮助在 WSL 中运行 systemctl 命令的...
win10系统中wsl2开启systemctl命令 默认情况下在wsl2中使用systemctl命令会报错 $sudo systemctl status cron.serviceSystem has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down 解决办法:...
对于WSL1用户,解决办法是升级至WSL2并启用systemd。为了使用systemctl命令,首先需要启动system daemon。这里推荐使用Distrod来启用systemd。Distrod是一款基于systemd的WSL2元发行版,它能在一分钟内安装Ubuntu、Arch、Debian、Gentoo等带有systemd的发行版,或者让当前的发行版在systemd环境中运行。Distrod还...
一、安装fontconfig daemonize sudoaptinstall-y fontconfig daemonize 二、修改/etc/profile # 在末尾添加以下内容 SYSTEMD_PID=$(ps-ef |grep'/lib/systemd/systemd --system-unit=basic.target$'|grep-v unshare |awk'{print $2}')if[ -z"$SYSTEMD_PID"];thensudo/usr/bin/daemonize /usr/bin/unshare...
@文心快码wsl无法使用systemctl 文心快码 在Windows子系统Linux(WSL)中,默认情况下并不启用systemd,而是使用了其他轻量级的初始化系统(如SysV init)。这导致一些需要systemd的服务(例如systemctl)无法正常工作。不过,从WSL 2开始,微软增加了一些支持以允许在WSL环境中使用systemd,但需要进行一些配置。以下是针对你问题的...
在 WSL2 中,由于使用的是 Windows 的初始化系统,因此执行 systemctl 命令时会遇到问题。为解决此问题,可以在 WSL2 中创建一个新的 Namespace 并将 systemd 作为 PID 1 来执行,即多一层 PID Namespace,从而在其中运行 systemd 环境。配置 genie 工具,使得在 WSL 中可以运行 systemctl 命令。
WSL2 Ubuntu 永久开启 systemctl 命令的简单方法 1. 安装 daemonize 和 fontconfig sudo aptinstall-y fontconfig daemonize 2. 文件/etc/profile末尾加入 SYSTEMD_PID=$(ps -ef | grep'/lib/systemd/systemd --system-unit=basic.target$'| grep -v unshare | awk'{print $2}')if[ -z"$SYSTEMD_PID"...