Я запускаю Gnome с compiz в Ubuntu 10.04. Иногда графический интерфейс зависнет. Я могу двигать мышью, но не могу взаимодействовать с программами. Единственное, что я могу сделать, - это перейти в окно терминала с помощью Alt+Ctrl+F(n). Оттуда я вхожу в систему и делаю перезагрузку sudo. Что еще я могу сделать в терминале вместо перезагрузки, чтобы справиться с этой проблемой, когда она возникнет?
7 ответов
Одно решение, которое я использую время от времени, когда что-то сходит с ума, - это переключаться на другую консоль, используя 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. Также позволит вам увидеть «Больше ...» подсказки.
Вы должны быть осторожны при этом. Вы можете убить всю систему. Мой способ сделать это - посмотреть на процессы внизу списка, в которых будут запущены последние процессы. Скорее всего, это те, которые заморозили систему, и их уничтожение может привести к разморозке среды Х без фактического перезапуска всей системы. В списке процессов вы увидите два числа. Первый (крайний левый) - это номер процесса, а рядом с ним - процесс, который его запустил.
В командах процессов вы можете узнать имена последних запущенных вами программ и убить их первыми.
В лучшем случае вы можете найти и убить оскорбительную программу. В худшем случае вы заморозите систему, пока не включите ее. Действуйте осторожно ............................
Но у вас есть возможность скопировать важные файлы, выполнить другие операции и т.д.
Как сказал private_meta, вы, вероятно, захотите перезапустить X. Это остановит все процессы GUI, включая все процессы, запущенные из окна терминала GUI.
Ctrl+Alt+Backspace не работает в Ubuntu, они отключили этот ярлык. Вы можете включить его (не помню точно, как, но это должно быть легко для Google) или просто использовать правильную комбинацию, которая является SysRq + K. SysRq может быть вторичной функцией другой клавиши на некоторых раскладках, например, на qwertz-клавиатура, которую вы нажимаете AltGr + Print + K.
Для других применений комбинаций клавиш SysRq прочитайте эту статью в Википедии. Это дает вам больший контроль над системой, чем вам, вероятно, понадобится.
В последних версиях Ubuntu (с поддержкой upstart) вы можете набрать:
sudo restart gdm
Иногда вы не можете переключиться на текстовую консоль, но тогда все равно возможно войти в систему с помощью ssh с другого компьютера. Перезапуск gdm также возможен и может исправить зависание драйвера дисплея.
Если ALT F(n) и мышь все работают, вы также можете попытаться преднамеренно убить отдельные программы, чтобы посмотреть, выпустит ли одна из них что-либо. Это менее технически, но это быстрый ориентированный на интерфейс пользователя способ увидеть, является ли проблема чем-то, что недавно началось.
ALT-F2: чтобы вызвать диалог запуска программы, который, по моему опыту, обычно работал, даже когда все остальное заблокировано.
xkill: для принудительного закрытия приложения с графическим интерфейсом.
Нажмите на оскорбительное приложение и посмотрите, что произойдет.
В большинстве случаев должна быть возможность перезапустить диспетчер окон с помощью Ctrl+Alt+Backspace. Хотя это убивает ваши приоритетные приложения, это еще не полная перезагрузка, это может быть компромиссом для вас.
Откройте виртуальный терминал с помощью комбинации клавиш CTRL - ALT - F [число] , войдите в систему, sudo killall [dm]
(где [dm]
- это один из gdm, gdm3, kde, wdm, lightdm, lxdm,
т.д.) И запустите новая сессия x с startx
Если вы не убьете дм, это не будет иметь большого значения. Замороженный / зависший дм не использует большое количество вычислительной мощности.
После зависания GUI машины ... Я думаю, что перезагрузка - это лучшее, что вы можете сделать, если у вас нет чего-то важного и долго работающего в фоновом режиме .... В любом случае, перезапуск gdm убьет ваши приложения.