Що робити, коли ваш інтерфейс GUI системи Linux зависає (переклад)
Це переклад за допомогою google translate у браузерному доповнені ImTraslate з сайту fosslinux.com - "5 Things to do when your Linux system GUI freezes". Не так давно у мене була така ситуація і я не зміг нічого розумного зробити окрім як перезапустити систему.
5 способів, розблокування завислого інтерфейсу GUI системи Linux
Отримали
заморожений робочий стіл Linux? Кілька факторів призводять до того, що
ваша система Linux не реагує. Ось п’ять речей, які ви можете зробити,
перш ніж натиснути цю кнопку скидання живлення.
Однак головне питання - це переважно виснаження ресурсів, що часто призводить до повного припинення дій. Зважаючи на це, подивімось на п’ять способів, які потрібно зробити, коли ваша GUI системи Linux звисне.
Крім того, якщо процес не запускався в терміналі, ви можете запустити
термінал, щоб зупинити його на PID (Process Identification Number - Процес Ідентифікації Номеру).
Натисніть комбінацію Alt + F2, щоб відкрити діалогове вікно. Введіть
команду, gnome-terminal і натисніть клавішу Enter/Введення, щоб
запустити термінал.
Усі операційні системи зависають в якийсь момент, і дистрибутиви
Linux не є винятком. У цій публікації ми розглянемо п’ять методів, які
можна застосувати до завислої системи, перш ніж подумати про
вимкнення кабелю живлення або натискання кнопки живлення для вимкнення
ПК.
Заморожений або завислий графічний інтерфейс в основному характеризується:
Заморожений або завислий графічний інтерфейс в основному характеризується:
- Одна програма перестає реагувати і не може закрити вікно.
- Ніщо не реагує на натискання миші або натискання клавіш клавіатури.
- Миша не може рухатися повністю.
Основні причини замороженого графічного інтерфейсу
Деякі з найпоширеніших причин, які викликають замерзання/зависання в Linux, - це проблеми, пов'язані з програмним забезпеченням або обладнанням. Вони включають; вичерпання системних ресурсів, проблеми сумісності додатків, недостатньо ефективне обладнання, повільні мережі, конфігурації пристроїв/додатків та тривалі непереривні обчислення.Однак головне питання - це переважно виснаження ресурсів, що часто призводить до повного припинення дій. Зважаючи на це, подивімось на п’ять способів, які потрібно зробити, коли ваша GUI системи Linux звисне.
Що робити, коли ваш робочий стіл Linux зависне
1. Закрийте заморожені/звислі програми за допомогою вікна X
Це один з найпростіших способів знищення завислих програм. Існує кілька способів відкрити вікно X. Одна з них виконує команду xkill в терміналі, як показано нижче.xkill![]() |
| Виконання команди xkill у терміналі (фото взято з сайту fosslinux.com) |
Курсор зміниться зі знака стрілки на знак X, як показано на зображенні
нижче. Натисніть на вперте вікно програми, яке хочете закрити в
будь-якому місці, але бажано на кнопці виходу.
![]() |
| Знак курсору ubuntu-freeze-xkill (фото взято з сайту fosslinux.com) |
Крім того, якщо ви не можете запустити термінал, ви можете
використовувати наступні комбінації клавіш. Alt + F2 відкриє діалогове
вікно, де ви введете команду xkill і натисніть клавішу Enter/Введення.
![]() |
| За допомогою команди Alt + F2 відкрийте діалогове вікно (фото взято з сайту fosslinux.com) |
Цей метод застосований у випадках, коли ваш графічний інтерфейс застиг,
але ви все ще маєте владу над мишею, і ви можете застосовувати клацання
миші. На жаль, бувають ситуації, коли навіть миша заморожена/зависла, і ви не
можете перемістити курсор. Тут вам потрібно буде застосувати другий
метод нижче.
2. Використовуйте термінал Linux
Якщо це програма, що працює на терміналі, то найпростішим способом було б натиснути Ctrl + C, щоб зупинити її. Ця комбінація посилає сигнал SIGINT, який перериває/зупиняє програму. В інших системах 'Delete' або 'Break' може виконувати ті ж дії.![]() |
| Зупинення програми у терміналі за допомогою сполучення клавіш CTRL + C (фото взято з сайту fosslinux.com) |
З цього моменту ми будемо використовувати декілька утиліт, щоб побачити
запущені процеси в системі. Однією зі стандартних програм є ТОП, яка
попередньо встановлюється в більшості систем Linux. Ви можете
використовувати інші сервіси, такі як HTOP, якщо вони встановлені у
вашій системі. Запустіть програму і закрийте процес, який, здається,
займає значну частину системної пам'яті.
![]() |
| Використовуйте програму TOP для закриття програм (фото взято з сайту fosslinux.com) |
Наприклад, на зображенні вище ми зупинимо Firefox за допомогою PID, який має номер 4240. Виконайте команду нижче.
sudo kill -9 42403. Використовуйте консоль (віртуальний термінал) для вбивства процесів
Якщо все вищезазначене, включаючи термінал, не працює, вам потрібно буде повернутися в режим консолі. Для входу в режим консолі використовуйте комбінацію Ctrl + Alt + F3. Ваш інтерфейс GUI зникне, і ви потрапите у віртуальний термінал, як показано нижче. Можливо, потрібно буде ввійти за допомогою свого імені користувача та пароля.![]() |
| Натисніть Ctrl + Alt + F3, щоб перейти в режим консолі (фото взято з сайту fosslinux.com) |
Щоб вийти з консолі та повернутися до графічного інтерфейсу користувача (GUI), натисніть клавіші Ctrl + Alt + F2.
Так само, як і в терміналі, ми також можемо використовувати кілька команд і утиліт для припинення запущеного процесу. Оскільки я встановив HTOP в моїй системі, я буду виконувати його і вбивати процеси, використовуючи їх PID's.
Так само, як і в терміналі, ми також можемо використовувати кілька команд і утиліт для припинення запущеного процесу. Оскільки я встановив HTOP в моїй системі, я буду виконувати його і вбивати процеси, використовуючи їх PID's.
![]() |
| Використовування HTOP для вбивства запущених програм у консолі (фото взято з сайту fosslinux.com) |
На щастя, з HTOP, на відміну від TOP, вам не потрібно виконувати команду KILL. Виберіть процес, який потрібно зупинити, і натисніть
клавішу F9 (Kill).
4. Використовуйте Putty для віддаленого входу через SSH
Крім виконання вищезазначених завдань на рідній машині, ви можете отримати доступ до нього дистанційно за допомогою putty та виконувати ті самі команди. Тут вам потрібно буде запустити та правильно налаштувати SSH-сервер у вашій цільовій системі. У цій публікації ми будемо використовувати putty, щоб зупинити виявленні неполадки та зупинити процес на віддаленому сервері Ubuntu.Щоб встановити putty, виконайте команду нижче.
- Ubuntu/Debian
sudo apt-get install putty- CentOS, Red Hat and, Fedora
sudo dnf install putty or
sudo yum install putty![]() |
| Запустити Putty (фото взято з сайту fosslinux.com) |
Запустіть putty та введіть IP-адресу цільової машини у виділений
розділ, як показано на зображенні вище. Натисніть «Відкрити». Ви можете
отримати IP-адресу будь-якої системи Linux, виконавши команду ifconfig.
Зауважте, якщо цільовий ПК знаходиться в приватній мережі (тобто присвоюється приватна адреса), вам потрібно буде перебувати в одній мережі, щоб отримати віддалений доступ до системи.
Вам доведеться увійти за допомогою свого імені користувача та пароля, як показано на зображенні нижче.
Зауважте, якщо цільовий ПК знаходиться в приватній мережі (тобто присвоюється приватна адреса), вам потрібно буде перебувати в одній мережі, щоб отримати віддалений доступ до системи.
Вам доведеться увійти за допомогою свого імені користувача та пароля, як показано на зображенні нижче.
![]() |
| Дистанційне під'єднання до завислої системи за допомогою putty (фото взято з сайту fosslinux.com) |
Після активного сеансу тепер можна починати вирішення неполадок щодо
проблем у системі. Одним із поширених способів є використання утилітів
процесів для перевірки усіх запущених процесів у системі. У цьому
прикладі ми запустимо TOP, виконавши верхню команду.
Після того, як ви активували сесію, тепер ви можете почати виправлення
неполадок щодо проблем у системі. Одним із поширених способів є
використання технологічних утиліт для перевірки всіх запущених процесів у
системі. У цьому прикладі ми будемо запускати утиліту TOP, виконуючи top
команду.
Ви можете перевірити деякі процеси, наприклад, які займають найбільше пам'яті, і
вбити їх, використовуючи їх PID. Деякі з загальних команд kill
включають; pkill, kill, kill -9, killall. Дивіться приклади нижче.
pkill gedit
kill [Process_PID]
kill -9 [Process_PID]
killall -u [username]Ви
можете перевірити більше опцій для використання з різними командами за
допомогою параметра –help. Наприклад, pkill –help надасть вам список
усіх параметрів, якими ви можете скористатися утилітою pkill.5. Використовуйте Alt + SysRq + [Option-Keyys] на консолі
SysRq (системний запит) - це специфічна комбінація клавіш, яка використовується для прямого зв'язку з ядром незалежно від стану системи. Він надає користувачам можливість надсилати команди низького рівня до ядра Linux.Клавіша SysRq зазвичай знаходиться на тій самій клавіші, що і Prnt-Scrn або кнопка Home. Однак це може відрізнятися від однієї марки ПК до іншої.
![]() |
| Клавіша SysRq на клавіатурі (фото взято з сайту fosslinux.com) |
Щоб використовувати SysRq, спочатку нам потрібно буде перейти в
консольний режим, як показано в попередньому способі. Натисніть
комбінацію Ctrl+Alt+F3. Щоб повернутися до GUI, натисніть Ctrl+Alt+F2. Якщо ви не можете перейти до консолі, виконайте наведені нижче
дії.
Крок 1) Натисніть Alt+SysRq+R. Це комбінація, яка використовується для отримання клавіатури.
Крок 2) Якщо раніше не вдалося відмовитися від консолі, запустіть комбінацію Ctrl+Alt+F2 ще раз.
Крок 3) Натисніть Alt+SysRq+E. Він визначає всі процеси, що працюють в системі.
Крок 4) Натисніть Alt+SysRq+I. Це вбиває всі запущені та зупинені процеси.
Крок 5) Натисніть Alt+SysRq+S. Це комбінація для синхронізації всіх ваших дисків, підключених до системи, запобігаючи втраті даних.
Крок 6) Зачекайте, коли на консолі з'явиться повідомлення ОК. Ви також можете перевірити свої жорсткі диски, щоб побачити, чи синхронізація пройшла успішно.
Крок 7) Натисніть Alt+SysRq+U. Він знову змонтує всі диски, підключені до системи, як лише для читання.
Крок 8) Зачекайте повідомлення ОК. Однак якщо вона не відображається, зачекайте 30 секунд і припустіть, що вона закінчена, тоді продовжуйте.
Крок 9) Натисніть Alt+SysRq+B. Це комбінація для примусового перезавантаження комп'ютера.
Крок 1) Натисніть Alt+SysRq+R. Це комбінація, яка використовується для отримання клавіатури.
Крок 2) Якщо раніше не вдалося відмовитися від консолі, запустіть комбінацію Ctrl+Alt+F2 ще раз.
Крок 3) Натисніть Alt+SysRq+E. Він визначає всі процеси, що працюють в системі.
Крок 4) Натисніть Alt+SysRq+I. Це вбиває всі запущені та зупинені процеси.
Крок 5) Натисніть Alt+SysRq+S. Це комбінація для синхронізації всіх ваших дисків, підключених до системи, запобігаючи втраті даних.
Крок 6) Зачекайте, коли на консолі з'явиться повідомлення ОК. Ви також можете перевірити свої жорсткі диски, щоб побачити, чи синхронізація пройшла успішно.
Крок 7) Натисніть Alt+SysRq+U. Він знову змонтує всі диски, підключені до системи, як лише для читання.
Крок 8) Зачекайте повідомлення ОК. Однак якщо вона не відображається, зачекайте 30 секунд і припустіть, що вона закінчена, тоді продовжуйте.
Крок 9) Натисніть Alt+SysRq+B. Це комбінація для примусового перезавантаження комп'ютера.
Усі букви, які тут використовуються, відповідають порядку R-E-I-S-U-B.
Вони повинні бути виконані в тому ж порядку, щоб цей метод працював у
вашій системі. Деякі поширені мнемоніки, які використовуються для цих
літер, - це (‘Reboot Even If System Utterly Broken’ ) 'Перезавантажити навіть якщо система пошкоджена нескінченно'
або (‘Raising Elephants Is So Utterly Boring) 'Підняття слонів так буває нудно'. '
Існує більше комбінацій SysRq, які можна використовувати на зависленому/замороженому графічному інтерфейсі, крім REISUB. Ви можете знайти їх у джерелах ядра Linux, SysRq Documentation.
Існує більше комбінацій SysRq, які можна використовувати на зависленому/замороженому графічному інтерфейсі, крім REISUB. Ви можете знайти їх у джерелах ядра Linux, SysRq Documentation.
Висновок
Це методи, якими можна скористатися для відновлення системи із замороженого/завислого стану. Вони знаходяться тут, щоб врятувати вас від використання останнього засобу, який би здійснював фізичне скидання або включення/вимкнення живлення, що може призвести до втрати даних. Якщо у вас є інший метод, який працює для вас, не соромтеся поділитися ним з нашими читачами в розділі коментарів.Автор цієї статьїь Арун Кумар (Arun Kumar)
Арун має ступінь бакалавра в галузі комп'ютерної
інженерії і любить насолоджуватися вільним часом, пишучи для FOSS Linux.
Він використовує Fedora в якості постійної операційної системи і любить цікавитися
цікавими дистрибутивами на VirtualBox. Він працює вдень і вночі читає
що-небудь технічне. Крім блогів, він любить плавати та грати в теніс.










Коментарі
Дописати коментар