Убить xserver из командной строки (init 3/5 не работает)

41223
Richard Martinez

Я использую Linux Mint 10, хотя у меня была такая же проблема с другими вариантами Linux. В ходе исследования мне было сказано / найдено, что если X-сервер зависает или иным образом выдает ошибку, можно перейти к приглашению root, обычно к другому tty, и выполнить init 3(для перехода в однопользовательский режим), а затем init 5вернуться к настройкам по умолчанию, графическая сессия.

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

Примечание. Если я запускаю startx(до или после init 3), мне сообщают, что сервер xserver все еще работает и я должен удалить его /tmp/.X0-lock. Попробовав это, он удаляет это сообщение об ошибке, но утверждает, что xserver не может быть подключен, поскольку запущен другой экземпляр.

Как мне полностью убить xserver? Могу ли я killallназвать какое-нибудь имя процесса?

2
Просто чтобы подчеркнуть это, как сказал @jsumners, уровень запуска 3 все еще многопользовательский. Rich Homolka 11 лет назад 0

3 ответа на вопрос

4
James Sumners

Linux Mint основан на Debian. В Debian однопользовательский уровень запуска равен 1; 3 по-прежнему является многопользовательским уровнем выполнения и, как таковой, позволяет X продолжать выполнение. Итак, вам нужно перейти на уровень выполнения 1, init 1чтобы остановить все процессы, инициированные уровнем запуска по умолчанию (2). Тогда вы можете повторно инициализировать до надлежащего уровня выполнения: init 2.

Для получения дополнительной информации смотрите Уровни запуска Debian .

+1 Good point, on Debian, runlevel 3 and runlevel 5 are the same thing. See, e.g. `/etc/init/gdm.conf`. Mikel 13 лет назад 0
1
Mikel

Самый простой способ убить ваш X-сервер - нажать Ctrl+ Alt+ Backspace.

Например, в Ubuntu сочетание клавиш называется «DontZap», и его можно повторно включить, следуя этим инструкциям . Так должно быть и на Linux Mint.


Лучше не бегать startx. Это не зависит от init 3/ init 5, и будет путать вещи.


В эти дни pkillпредпочтительнее killall. Он в основном делает то же самое, но у него есть команда партнера, которую pgrepвы можете использовать, чтобы увидеть, что он убьет, прежде чем делать это.

Так что попробуйте pgrep Xили pgrep Xorg, а затем запустите pkill Xили, pkill Xorgесли pgrepперечислены только те программы, которые вы хотите убить.

В моей системе Ubuntu самая надежная команда, которую я могу найти:

pgrep -f '^/usr/bin/X ' 

Это означает, что вы можете убить все X-серверы, используя

pkill -f '^/usr/bin/X ' 

(но я не проверял это).


Наконец, не забудьте заглянуть /var/log/X.0.logи ~/.xsession-errors. Может быть, вы можете выяснить, что вызывает зависание X-сервера.

`Ctrl + Alt + Backspace` был отключен по какой-то причине, потому что есть [Magic SysRq Key] (http://en.wikipedia.org/wiki/Magic_SysRq_key), говорите` Alt + Print + K` для него. Кроме того, только для записи, Google не считается полезным. Bobby 13 лет назад 1
ОП не упомянул, какой дистрибутив или операционная система. Что я должен сделать? Mikel 13 лет назад 0
Простите, он сказал Linux Mint, который похож на Ubuntu. Буду обновлять. Mikel 13 лет назад 0
0
tradetaxfree

Когда я обновляю Xorg или драйверы видео:

  1. Нажмите Ctrl+ Alt+F1
  2. Войти как пользователь
  3. Введите следующие команды:

    sudo /etc/init.d/lightdm stop #or slim gdm mdm etc... #do stuff sudo /etc/init.d/lightdm start #or slim gdm mdm etc... 

(Остановка диспетчера отображения также останавливает X.)

Похожие вопросы