2

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

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

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

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

3 ответа3

4

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

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

1

Самый простой способ убить ваш 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-сервера.

0

Когда я обновляю 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.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .