Що робити, коли Linux gui замерзає


24

Я запускаю Gnome з compiz в Ubuntu 10.04. Іноді гуй замерзне. Я можу переміщувати мишу, але не можу взаємодіяти з програмами. Єдине, що я можу зробити - це перейти до вікна терміналу з Alt + Ctrl + F (n). Звідти я входжу і перезавантажую судо. Що ще я можу зробити на терміналі замість перезавантаження, щоб вирішити цю проблему, коли вона з’являється?

Відповіді:


14

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

Якщо це не працює, і ви встановили OpenSSH (sudo apt-get install openssh), ви можете віддалено приєднати скриньку до свого вікна і отримати те саме запит.

Потім ви можете увійти як власне, su до root та побачити, яка програма зараз запущена. Для цього потрібен невеликий досвід роботи з деякими командами, такими як ps, kill, grep тощо.

ps - еф | більше

Вищенаведена команда покаже всі процеси, які в даний час запущені, і у вас з'явиться підказка "Більше ...", щоб зв'язати читання результатів.

вбити -9 ####

Вищевказана команда знищить процес з номером ####.

пс -еф | греп ора | більше

Наведена вище команда покаже всі процеси з літерами "ora", такі як програми Oracle. Також дозволить побачити підказки "Більше ...".

Ви повинні бути обережними, роблячи це. ви можете вбити всю систему. Мій спосіб зробити це - подивитися на процеси внизу списку, де будуть розпочаті останні процеси. Це, швидше за все, ті, що заморозили систему, і вбивство може швидше розморозити середовище X, фактично не перезавантажуючи всю систему. У списку процесів ви побачите два числа. Перший (лівий край) - це сам номер процесу, а наступний - процес, який його запустив.

У командах процесів, можливо, ви зможете розпізнати ім’я останніх запущених програм і вбити їх першими.

У кращому випадку можна знайти та вбити програму, яка образила. У гіршому випадку, ви заморозите систему, поки не вимкнете її. Дійте обережно ............................

Але у вас є шанс скопіювати критичні файли, виконати інші операції тощо.


8

Як сказав private_meta, ви, ймовірно, захочете перезапустити X. Це зупиняє виконання всіх процесів GUI, включаючи всі процеси, запущені з вікна терміналу gui.

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

Про інші використання комбінацій клавіш SysRq читайте в цій статті Вікіпедії . Це дає вам більше контролю над системою, ніж вам, мабуть, знадобиться.


1
howto enable ctrl-alt-backspace ubuntugeek.com/…
matthias krull

Я щойно спробував Alt + SysRq + K у незамерзлій системі, і це дало мені білий порожній екран, де я нічого не можу зробити (він же повний заморозок?). Чим це може бути корисно, або що я зробив неправильно?
phunehehe

4

В останніх версіях Ubuntu (увімкнено для запуску) ви можете набрати:

sudo restart gdm

Іноді ви не можете переключитися на текстову консоль, але тоді все одно можливо ввійти за допомогою ssh з іншого ПК. Після цього також можливий перезапуск gdm і може виправити драйвер дисплея.


1
Що це робить з програмами, які працювали в gui?
tony_sid

2
Їх усі припиняють, оскільки вони втрачають зв’язок із X.
Ян

2

Якщо ALT F (n) і миша спрацьовують, ви також можете спробувати напевно вбити окремі програми, щоб побачити, чи випустить одну з них. Це менш технічно, але це швидкий спосіб, орієнтований на gui, щоб зрозуміти, чи є проблема, яку нещодавно почали.

ALT-F2: щоб відкрити діалогове вікно запуску програми, яке, як на мене, зазвичай спрацьовує навіть тоді, коли все інше заблоковано.

xkill: примусово закрити додаток gui.

Клацніть на додаток, який ображає, і подивіться, що станеться.


1

Переважно перезапустити менеджер вікон через Ctrl + Alt + Backspace. Хоча це вбиває ваші додатки переднього плану, воно все ще не є повним перезавантаженням, це може бути компромісом для вас.


1
це відключено за замовчуванням з 9.04, тому він не працюватиме. замість перезавантаження ви можете ввести /etc/init.d/gdm перезапуск.
matthias krull

0

Після того, як машинний графічний інтерфейс заморозиться ... я думаю, що перезавантаження - це найкраще, що ви можете зробити, якщо у вас є щось важливе і довго працює у фоновому режимі .... У будь-якому разі перезапуск gdm вбиває ваші програми.


0

Відкрийте віртуальний термінал за допомогою ярлика CTRL- ALT- F[number], увійдіть у систему, sudo killall [dm](де [dm]є один з gdm, gdm3, kde, wdm, lightdm, lxdm,тощо) та запустіть новий х сеанс ізstartx

Якщо ви не вб'єте dm, це не призведе до великої різниці. Заморожений / підвішений dm не використовує велику кількість процесорної потужності.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.