WSL2を使用しています。
コードを実行すると:
systemctl start ssh
またはその中にあるコマンドがsystemctl
表示されます。
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
答え1
WSLは、展開を開始するための初期化システムとしてsystemdを使用しません。部分的に、systemdはWSLに必要ではなく、WSLのコンテキストで意味のない多くのサービス(たとえば、他のファイルシステムを搭載するサービス)を起動することが多いため、WSLは独自のinitシステムを使用します。
systemctl
ご覧のとおり、オペレーティングシステムを起動するinitシステムでない場合は、systemdを使用してサービスを開始できません。解決策は、より移植性の高いコマンドであるservice
ことを使用することですservice ssh start
。これは通常、サービス記述が常に systemd init スクリプトとして提供されない Debian ベースのディストリビューションに適用されます。 Kaliはそのようなディストリビューションの1つです。
このservice
コマンドは他のディストリビューションでも機能しますが、多くのRed HatおよびFedoraベースのディストリビューションはsystemdデバイス以外には何も提供しないため、service
systemdを使用するとコマンドは機能しますが、systemdを使用できない場合に使用できる他のスクリプトはありません。有効になっていません。この場合、手動で起動しないとサービスを開始できません。