WSL 中的 Ubuntu:重启命令不起作用
我一直使用WSL
Linux 作为在开发软件时访问 Linux 的一种方式Windows 10:专业版操作系统。但我使用的某些预格式化输入行不起作用,因为reboot
当 Ubuntu 在适用于 Linux 的 Windows 子系统。
我使用的预格式化的输入行通常使用我在命令行中将该行分配给的 bash 变量来执行 -IE $1
,,$2
$3
。通常我会创建一个命令行库(又名用于 Linux 导航的个人 CLI),我将使用通过 bin 目录支持的命令来执行它。
以下是传统用例的示例:
jay-dev@stack-overflow:~$ sudo apt update && sudo apt upgrade;sudo reboot;
执行$ sudo reboot
命令,Ubuntu打印以下内容:
jay-dev@stack-overflow:~$ sudo reboot
[sudo] password for andrew-chambers:
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
Failed to talk to init daemon.
jay-dev@stack-overflow:~$
我想知道是否有一个可行的解决方案。
以下列出 3 个可行解决方案的示例:
WSL
允许命令成功执行的配置,reboot
这意味着reboot
重新启动 Ubuntu。编写
reboot
命令的另一种方法,将导致命令以导致 Ubuntu 重新启动的方式执行。完全是另一种命令。
编写自己的命令来重新启动 Ubuntu 的方法。
关闭和打开终端不起作用,因为我无法以任何预格式化的方式或任何代码包含它。(这应该是显而易见的)
答案1
您可以使用以下命令重新启动 Ubuntu:
powershell.exe Restart-Service LxssManager
需要注意的是,您需要以 Windows 管理员权限运行 shell。
另一种方法是wsl.exe --shutdown
或wsl.exe -t <DistroName>
。所有这些都应该在 WSL 中工作。