WSL 中的 Ubuntu:重启命令不起作用

WSL 中的 Ubuntu:重启命令不起作用


WSL 中的 Ubuntu:重启命令不起作用


我一直使用WSLLinux 作为在开发软件时访问 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 --shutdownwsl.exe -t <DistroName>。所有这些都应该在 WSL 中工作。

相关内容