Как мне сбросить X

У моего компьютера, похоже, проблемы с приостановкой и возобновлением работы. Совсем недавно он вернулся из спящего режима, работал нормально, пока я не начал входить в систему, а затем X полностью завис. Я могу войти через SSH (и он работает безупречно, когда я это сделаю), и я бы хотел сбросить его, не перезагружая весь компьютер, и желательно, не прерывая работу всех моих открытых приложений.

Это выполнимо? Полагаю, что если мне придется закрыть открытые приложения, это тоже нормально, но не предпочтительнее.

6
задан 9 August 2010 в 16:30

5 ответов

Поскольку компьютер не заблокирован, Alt + SysRq + k должен убить / перезапустить ваш X-сервер. Введите его на X VT, а не на консоли VT.

0
ответ дан 9 August 2010 в 16:30

Кстати, вы сказали «Х полностью замерз», что, если верно, мой предыдущий ответ применим. Однако обычный сбойный режим, который я видел, - это проблема, при которой, когда крышка закрывается, экран гаснет и не возвращается, однако X в этом случае не зависает - все приложения с графическим интерфейсом по-прежнему работают и производят шум и так далее. , Вы просто ничего не видите на экране.

В этом случае это совсем другая проблема - видеокарта может отправлять графику на несколько разных «выходов» (например, LVDS, DVI, VGA, TV-out), но только на два «канала» одновременно. Иногда он выбирает неправильный вывод для отправки данных. Итак, изначально графика отправляется на панель ноутбука (LVDS), вы закрываете крышку, снова открываете ее, и теперь графика отправляется на выход ТВ-выхода, даже если у вас нет физического порта ТВ-выхода в Сам ноутбук!

Исправление в этом случае, как правило, заключается в принудительном отключении своенравного выхода. Раньше вы могли просто поместить что-то в ваш xorg.conf, чтобы сделать это, но теперь с настройкой режима ядра это не так просто. В любом случае, я задокументировал оба метода на https://wiki.ubuntu.com/X/Quirks , если вы хотите узнать мельчайшие детали того, как это сделать.

0
ответ дан 9 August 2010 в 16:30

Технически, с такими проблемами «зависания Х», на самом деле дело не в том, что сам X завис, а в том, что графический процессор на видеокарте по какой-то причине завис, и поэтому Х больше не мог обновлять графику на нем.

Таким образом, сброс X обычно не решает проблему. Как и в двух предыдущих упомянутых комментариях, существует несколько простых способов перезапустить X, таких как перезапуск gdm или kdm или включение ctrl-alt-backspace и использование этой комбинации клавиш. Но в следующий раз, когда «X замерзнет», попробуйте их, и держу пари, что это не имеет никакого эффекта.

Проблема действительно глубже в стеке, на уровне ядра. Возможно, если вы закрыли X, выгружали и перезагружали все графические драйверы ядра, а затем перезапускали X, это могло появиться. Но при перезапуске X вы теряете все свои приложения. Таким образом, кроме интересного теста, возможно, быстрее и безопаснее просто выполнить полную перезагрузку.

Вы не упомянули, какой видеодрайвер вы используете, но, например, с помощью видеодрайвера Intel, графический процессор обрабатывается кодом в самом ядре Linux. Некоторые разработчики экспериментируют с добавлением в ядро ​​функции «сброса GPU», которая автоматически очищает память GPU и повторно инициализирует ее, когда кажется, что она больше не отвечает на графические команды. Эта функция сброса является новой и не всегда работает во всех случаях по разным причинам, и (пока) недоступна для видеодрайверов с открытым исходным кодом nouveau или ati. Надеюсь, это скоро будет.

Если вы используете проприетарный драйвер, такой как nvidia или fglrx, все ставки сняты. Проверьте форумы для тех водителей для подсказок.

0
ответ дан 9 August 2010 в 16:30

Я знаю, что гибернация все еще имеет много проблем с широким спектром оборудования в Ubuntu. Вы можете перезапустить X, я думаю, с помощью service gdm restart (или /etc/init.d/gdm restart) вы сможете сбросить X. Если вы используете Kubuntu или KDE, вы захотите использовать service kdm restart (или /etc/init.d/kdm restart)

0
ответ дан 9 August 2010 в 16:30

Если вам нужно часто перезагружать X, вы можете сделать это с помощью комбинации клавиш Control + Alt + Backspace . Он был включен по умолчанию в Ubuntu, но они отключили его, начиная с версии 9.04.

Чтобы снова включить его:

  • Выберите «Система» -> «Настройки» -> «Клавиатура»
  • Выберите вкладку «Макеты» и нажмите «Параметры» ».
  • Выберите «Последовательность клавиш для уничтожения X-сервера» и включите Control + Alt + Backspace .

Я предлагаю вам продолжать искать корень вашей проблемы, так как это всего лишь палисия, но она должна вам помочь.

0
ответ дан 9 August 2010 в 16:30

Другие вопросы по тегам:

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