Завершение работы системы с помощью виртуальной консоли

10

Мой компьютер время от времени зависает. Это потому, что я делаю несколько ошибок и разрушаю свою систему. У меня нет времени переустанавливать систему сейчас. Пока мой компьютер заморожен, он все еще работает, когда я нажимаю Ctrl+ Alt+ F1. Есть ли способ перезагрузить систему, используя ее?

KonradDos
источник
Итак, вы хотите выключить / перезагрузить командную строку?
ryanw
Связанный (но не дубликат): Как мне выключить или перезагрузить терминал?
Элия ​​Каган

Ответы:

10

Нажатие Ctrl+ Alt+ F1привело вас от X11 (GUI) к виртуальной консоли . Вы, конечно, можете перезагрузиться отсюда.

  • Самый простой способ перезагрузиться с виртуальной консоли - просто нажать Ctrl+ Alt+Delete . Вам даже не нужно сначала войти в систему, хотя это не будет проблемой, если вы это сделаете. В отличие от старых систем DOS, нажатие Ctrl+ Alt+ Deleteв системе GNU / Linux, такой как Ubuntu, фактически выполняет правильное завершение работы и чистую перезагрузку.

    Это не работает в графическом интерфейсе (если вы не настроили его или не используете действительно старый дистрибутив). Но он работает в любой виртуальной консоли, на которой не работает X11 (если вы не настроили его, что редко).

  • Другой способ - войти и запустить sudo reboot. Вам будет предложено ввести пароль для входа на виртуальную консоль, и вам будет предложено ввести его снова sudo. Это один и тот же пароль оба раза, и вы не увидите никаких символов-заполнителей (например *) при вводе. Введите его и нажмите Enter.

Однако вместо перезагрузки вы можете рассмотреть:

  • Перезапуск только GUI. Среда вашего рабочего стола и все запущенные программы будут быстро завершены (так что обычно вы должны быть осторожны с этим, как и с перезагрузкой), графический интерфейс будет перезапущен, и графический экран входа снова откроется, когда вы запустите:

    sudo service lightdm restart
    

    Это работает путем остановки и запуска диспетчера отображения . Эта конкретная команда на самом деле работает, только если ваш менеджер дисплеев - LightDM , который по умолчанию используется в большинстве систем Ubuntu Основное исключение - если вы используете Ubuntu GNOME, который использует GDM :

    sudo service gdm restart
    
  • Попытка закрыть только оскорбительную программу. Хотя ни одна программа не должна приводить к зависанию всего графического интерфейса, это может иногда происходить. Вы можете войти (см. Выше) и запустить topпросмотр текущих запущенных процессов, отсортированных по загрузке процессора. (Нажмите, Qчтобы выйти top.) Программа, которая вызывает зависание графического интерфейса, не обязательно использует много ЦП, но это место для запуска.

    Вы также можете использовать psкоманду, чтобы найти идентификатор процесса или имя программы, которую, как вы знаете, вы хотите завершить, и команду killили, killallчтобы выйти из нее по номеру или имени, соответственно. Как следует из его названия, killallпытается убить все процессы, которые имеют имя, которое вы ему даете. (Имя процесса не обязательно совпадает с именем, отображаемым на значке панели запуска или в строке заголовка.)

Будьте осторожны при перезагрузке , независимо от того, как вы это делаете:

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

Смотрите также Что мне делать, когда Ubuntu зависает?

Элия ​​Каган
источник
7

Запустите следующую команду:

sudo reboot

Или

sudo shutdown -r now

Обе команды выполнят перезагрузку / перезапуск в вашей системе. Если это не помогает, удерживайте нажатой кнопку питания в течение нескольких секунд, отпустите ее и снова нажмите, чтобы запустить компьютер.

Если система работает с выпуском 16.04 (вы можете проверить это с помощью lsb_release -r), то не нужно никаких sudoпривилегий для команды перезапуска. Просто беги rebootсделаем работу.

Лисо
источник
Это все? Хорошо, спасибо.
KonradDos
2

В режиме консоли выполните следующее: sudo init 6

init 6в основном говорит initпроцессу выключить все порожденные процессы / демоны, как записано в файлах инициализации (в обратном порядке, в котором они были запущены) и, наконец, вызвать команду shutdown -rnow для перезагрузки компьютера

Nisheet
источник
Хотя это очень хороший ответ, и запуск init 6работает нормально, просто запуск shutdown -r now(или reboot) также выполняет ту же самую очистку . В современной системе GNU / Linux, init 6, shutdown -r nowи reboot(хотя и не reboot -f) все выполнить соответствующие сценарии инициализации для остановки запущенных демонов должным образом , так что редко какой - либо причина предпочитает init 6более другие методы.
Элия ​​Каган
Я определенно согласен, однако завершение работы и перезапуск являются частью пакета upstart. В случае, если что-то пошло не так и оба недоступны, init 6 - надежный способ.
Nisheet
initэто также обеспечивается upstartпакетом, на выпусках , где Upstart установлен по умолчанию. По состоянию на 15.04, Systemd используется вместо , а systemd-sysvпакет обеспечивает init, shutdownи reboot. Возможно, но странно dpkg -S /sbin/{init,shutdown,reboot}показывать разные пакеты для этих трех; у вас есть система Ubuntu, где она есть? ( restart Это Upstart конкретным, но не имеет ничего общего с перезагрузкой и не следует путать с reboot.)
Eliah Каган