Как перезапустить Linux (Ubuntu) из командной строки?

50

Из-за моей проблемы с игнорированием щелчков мышью в Ubuntu , я хочу перезапустить из командной строки. (У меня есть открытый терминал, и клавиатура не игнорируется.)

Как перезагрузить компьютер под управлением Linux (или, точнее, Ubuntu) из командной строки?

Дэрил Спитцер
источник

Ответы:

80

Есть несколько способов:

перезагрузка sudo
sudo init 6
отключение sudo -r сейчас
Джон Т
источник
10
Будьте осторожны с init. Если inittab был изменен, init 6 может быть сопоставлен с другим уровнем запуска. Я видел несколько мест, в которых уровень запуска по умолчанию после перезагрузки был установлен в однопользовательский режим.
Satanicpuppy
А если ты не sudo? При нажатии , вам не нужно быть sudo...
Atcold
9

Если у вас есть менеджер сеансов, совместимый с freedesktop, вы можете использовать DBus для вызова перезапуска из X-сессии. Команда идет:

dbus-send --system --dest=org.freedesktop.Hal --type=method_call \
    --print-reply /org/freedesktop/Hal/devices/computer \
    org.freedesktop.Hal.Device.SystemPowerManagement.Reboot int32:0

(это, вероятно, более чем необходимо; работает для меня). Я использую это в сценарии оболочки. Вам не нужно запускать это из root, но вам нужно запустить его изнутри сеанса X (например, в терминале). Вы можете найти больше по этой теме на https://wiki.ubuntu.com/DebuggingGNOMEPowerManager

liori
источник
В чем преимущество этого перед sudo reboot?
Дэрил Спитцер
3
Он уведомит вашего менеджера сеанса о том, что вы собираетесь перезагрузить компьютер, и сохранит ваш статус сеанса (открытые приложения). Я не уверен, rebootили shutdownнет. Кроме того, как я написал в ответе, вам не нужны sudo или su (вам нужно разрешить это делать с помощью менеджера сеансов, но это обычно так в большинстве настольных дистрибутивов).
Лиори
2

Иногда обычные (и предпочтительные) команды перезагрузки и выключения не работают. Я видел это в системе с проблемами (именно поэтому она нуждалась в перезагрузке).

Вы можете запустить механизм «Magic SysRq» из командной строки:

echo b >/proc/sysrq-trigger

Это эквивалентно alt-SysRq + b и перезагрузит компьютер.

Вы можете сначала попробовать «s» и «u» для синхронизации дисков и размонтирования файловых систем соответственно.

Draemon
источник
0

Я нашел эту страницу на computerhope.com :

Команда перезагрузится . Существует также остановка , отключение питания и завершение работы .

Дэрил Спитцер
источник
1
остановка и отключение питания фактически полностью выключают машину, выключение приведет к перезагрузке машины только при наличии соответствующих переключателей.
Джон Т
0

В этом нет ничего плохого, но вы также можете установить gnome-do и включить плагин управления сеансом, который позволяет легко выключать, перезагружать, приостанавливать работу с gnome-do

user23307
источник
0

Если вы работаете в виртуальной среде Это поставит жесткий диск в режиме ожидания: sudo /sbin/shutdown -h now.

Свапнил Ганград
источник