23

Я запускаю Gnome с compiz в Ubuntu 10.04. Иногда графический интерфейс зависнет. Я могу двигать мышью, но не могу взаимодействовать с программами. Единственное, что я могу сделать, - это перейти в окно терминала с помощью Alt+Ctrl+F(n). Оттуда я вхожу в систему и делаю перезагрузку sudo. Что еще я могу сделать в терминале вместо перезагрузки, чтобы справиться с этой проблемой, когда она возникнет?

7 ответов7

12

Одно решение, которое я использую время от времени, когда что-то сходит с ума, - это переключаться на другую консоль, используя Ctrl-AltFx (F1-F6). Ctrl-Alt-F7 должен вернуть вас к графическому экрану. Это должно привести вас к текстовой подсказке для входа.

Если это не работает, и вы установили OpenSSH (sudo apt-get install openssh), вы можете удаленно установить ssh на свой компьютер и получить то же приглашение.

Затем вы можете войти в систему под своим именем, войти в систему и посмотреть, какое приложение запущено в данный момент. Это требует небольшого опыта работы с некоторыми командами, такими как ps, kill, grep и less.

ps - ef | Больше

Приведенная выше команда покажет вам все процессы, запущенные в данный момент, и у вас появится приглашение «Ещё ...», чтобы взять галстук, чтобы прочитать вывод.

убить -9 ####

Приведенная выше команда убьет процесс под номером ####.

ps -ef | Греп Ора | Больше

Приведенная выше команда покажет вам все процессы с буквами "ora", например, программы Oracle. Также позволит вам увидеть «Больше ...» подсказки.

Вы должны быть осторожны при этом. Вы можете убить всю систему. Мой способ сделать это - посмотреть на процессы внизу списка, в которых будут запущены последние процессы. Скорее всего, это те, которые заморозили систему, и их уничтожение может привести к разморозке среды Х без фактического перезапуска всей системы. В списке процессов вы увидите два числа. Первый (крайний левый) - это номер процесса, а рядом с ним - процесс, который его запустил.

В командах процессов вы можете узнать имена последних запущенных вами программ и убить их первыми.

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

Но у вас есть возможность скопировать важные файлы, выполнить другие операции и т.д.

8

Как сказал private_meta, вы, вероятно, захотите перезапустить X. Это остановит все процессы GUI, включая все процессы, запущенные из окна терминала GUI.

Ctrl+Alt+Backspace не работает в Ubuntu, они отключили этот ярлык. Вы можете включить его (не помню точно, как, но это должно быть легко для Google) или просто использовать правильную комбинацию, которая является SysRq + K. SysRq может быть вторичной функцией другой клавиши на некоторых раскладках, например, на qwertz-клавиатура, которую вы нажимаете AltGr + Print + K.

Для других применений комбинаций клавиш SysRq прочитайте эту статью в Википедии. Это дает вам больший контроль над системой, чем вам, вероятно, понадобится.

4

В последних версиях Ubuntu (с поддержкой upstart) вы можете набрать:

sudo restart gdm

Иногда вы не можете переключиться на текстовую консоль, но тогда все равно возможно войти в систему с помощью ssh с другого компьютера. Перезапуск gdm также возможен и может исправить зависание драйвера дисплея.

2

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

ALT-F2: чтобы вызвать диалог запуска программы, который, по моему опыту, обычно работал, даже когда все остальное заблокировано.

xkill: для принудительного закрытия приложения с графическим интерфейсом.

Нажмите на оскорбительное приложение и посмотрите, что произойдет.

1

В большинстве случаев должна быть возможность перезапустить диспетчер окон с помощью Ctrl+Alt+Backspace. Хотя это убивает ваши приоритетные приложения, это еще не полная перезагрузка, это может быть компромиссом для вас.

0

Откройте виртуальный терминал с помощью комбинации клавиш CTRL - ALT - F [число] , войдите в систему, sudo killall [dm] (где [dm] - это один из gdm, gdm3, kde, wdm, lightdm, lxdm, т.д.) И запустите новая сессия x с startx

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

0

После зависания GUI машины ... Я думаю, что перезагрузка - это лучшее, что вы можете сделать, если у вас нет чего-то важного и долго работающего в фоновом режиме .... В любом случае, перезапуск gdm убьет ваши приложения.

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