Я просто получил Ubuntu от Microsoft Store и попробовал некоторые вещи ею. Однако, когда я пытаюсь перезапустить или закрыть системное использование sudo reboot
или sudo shutdown -h
Я получил быстрое высказывание
"Система не была загружена с systemd как init система (PID 1). Не может работать. Не удалось говорить с init демоном".
Это означает, что я не могу просто выключить машину, так как она находится под WSL?
Я должен просто нажать X каждых раз, когда я хочу выйти?
У меня есть последние обновления Windows и Ubuntu.
поддержка systemd не реализована. Лучший способ (я нашел), должен перезагрузить целую подсистему WSL: Как администратор запускают оболочку cmd и
net stop LxssManager
net start LxssManager
Я знаю, что это устарело, но только что обнаружил, что это можно сделать с помощью списков рассылки powershell
:
wsl --list
выведет что-то вроде
Windows Subsystem for Linux Distributions:
Ubuntu (Default)
docker-desktop-data
docker-desktop
terminate Ubuntu
wsl --terminate Ubuntu
или завершить все
wsl --shutdown
надеюсь, что это помогает!
Цитирование моего SO Ответ
Предположим, что имя вашего дистрибутива wsl — Ubuntu
.
Вы можете использовать команду wsl
в Командной строке
(cmd), чтобы узнать имена дистрибутивов и завершить/выключить/перезапустить конкретный дистрибутив.
Перезапустите в том смысле, что вы закрываете дистрибутив wsl и запускаете его заново.
wsl -l
или wsl --list
, чтобы вывести список/показать все установленные дистрибутивы. Это даст вам такой вывод. (по умолчанию)
не является частью имени, а просто маркером.
Подсистема Windows для дистрибутивов Linux:
Убунту (по умолчанию)
Убунту-20.04
Убунту-18.04
wsl -t
или wsl --terminate
, например wsl --terminate Ubuntu
, и он автоматически запустится в следующий раз, когда вы его откроете.