Як виправити невідповідну систему Ubuntu?


22

Я використовую Ubuntu. Іноді система не має жодної відповіді за допомогою миші та клавіатури. Чи є якийсь спосіб вирішити цю проблему, крім натискання кнопки скидання на машині?


1
це складне питання, тому що ви не даєте нам багато чого продовжувати ... якби я, я б CTRL + ALT + F [1..6], входив у систему і вбивав би деякі процеси. але я майже завжди знаю, що робить мою машину невідповідною, тоді як ви цього не робите. і , крім того, іноді я пишу програми , які я знаю, збираюся зробити це НЕ відповідає, тому що я хочу , щоб результат програми.
ixtmixilix

Ви впевнені, що система не реагує або система все ще працює, але пристрої введення перестають функціонувати?
Боббі

Відповіді:


35

Якщо ви хочете спосіб перезавантажити, не зберігаючи відкриті документи, але не натискаючи кнопку скидання, то існують способи, з якими менше шансів спричинити втрату даних. Спочатку спробуйте Ctrl+ Alt+ F1. Це повинно привести вас до віртуальної консолі , як сказав ixtmixilix . Щойно ви перебуваєте у віртуальній консолі, Ctrl+ Alt+ Deleteвимкнеться та перезавантажить машину.

Якщо ця методика не працює, завжди є Alt+ SysRq+REISUB .

Щодо виправлення проблеми без перезавантаження, без додаткової інформації про те, що відбувається, важко було б дати хорошу відповідь. Якщо ви могли б описати обставини, за яких це відбувається (найкращий спосіб зробити це - відредагувати своє запитання, щоб додати інформацію), то це може допомогти людям дати хороші відповіді. Інша річ, яку слід врахувати, це те, що якщо ваш комп’ютер стає невідповідним - особливо якщо на Ctrl+ Alt+ F1потрібно зайняти більше декількох секунд, щоб створити віртуальну консоль - тоді ви майже напевно маєте помилку, і повідомивши про це, ви можете обидва допомагають громаді та, можливо, отримають відповідь.

Пробої в графічному інтерфейсі викликають невідповідний WM або X11 / Wayland

Це може статися через взаємодію програми та менеджера вікон - або сервера X11 або Wayland. Ознакою того, що така природа проблеми, є те, якщо програма перестає реагувати і заважає вам вводити дані за допомогою клавіатури чи миші до інших вікон додатків. (Жоден додаток не повинен робити цього; для деяких компонентів GUI в ньому має бути помилка.) Якщо це відбувається, то ви можете вбити процес правопорушника у віртуальній консолі (як натякає ixtmixilix ):

  1. Натисніть Ctrl+ Alt+ F1.

  2. Увійдіть. Під час введення пароля ви нічого не побачите. Це нормально.

  3. Використовуйте утиліту, як, psщоб визначити назву процесу, що порушує програму. Іноді в Ubuntu це легко, а в інший раз - ні. Наприклад, ім'я процесу Archive Manager - це file-roller. Якщо у вас виникли труднощі з їх розібранням, зазвичай ви можете знайти інформацію в Інтернеті без особливих проблем (або якщо ви не можете, можете залишити питання про неї).

    Ви можете підключити psвихід, grepщоб звузити речі. Припустимо, що це було причиною проблеми саме менеджера архівів. Тоді ви можете запустити:

    ps x | grep file-roller
    

    Ви побачите запис для своєї власної grepкоманди плюс запис для file-roller.

  4. Спроба вбити злочинця шляхом SIGTERM. Це дає йому можливість проводити очищення в останню хвилину, як промивання буферів файлів, сигналізація віддаленим серверам, що він збирається відключити (для протоколів, які це роблять), і випустити інші види ресурсів. Для цього скористайтеся killкомандою:

    kill PID

    де PIDце ідентифікатор процесу номер процесу ви хочете вбити, отриманий від роботи psна кроці 3.

  5. SIGTERMце спосіб твердо попросити процес вийти. Процес може ігнорувати цей сигнал і буде робити це при несправності при певних обставинах. Тож слід перевірити, чи спрацювало це. Якщо цього не сталося, вбийте його SIGKILL, який він не може ігнорувати, і який завжди працює, за винятком рідкісного випадку, коли процес перебуває у режимі безперебійного сну (або якщо він насправді не працює, але це швидше процес зомбі ).

    Ви можете обидві перевірити, чи процес все ще запущений, і вбити його, SIGKILLякщо він є, лише однією командою:

    kill -KILL PID

    Якщо ви отримаєте таке повідомлення, як , ви знаєте, як його вбити . Якщо у вас немає результату, ви знаєте, що не працювало. У цьому випадку, мабуть, так і було, але варто перевірити, запустивши його ще раз. (Для зручності введення натисніть клавішу зі стрілкою вгору, щоб відкрити попередні команди.)kill: (PID) - No such processSIGTERMSIGTERMSIGKILL

  6. У рідкісних випадках для власних процесів, або завжди з процесами, що належать rootіншому користувачеві, окрім себе, ви повинні вбити процес як root. Для цього sudo передбачте вищевказані killкоманди (включаючи пробіл) перед вказаними вище командами. Якщо вищезазначені команди не працюють або вам сказали, що ви не маєте необхідного доступу для вбивства процесу, спробуйте це як rootі раніше sudo.

(До речі, kill -KILLце те саме, що широко популярний kill -9. Я рекомендую, kill -KILLоскільки SIGKILLне гарантується 9його номер сигналу на всіх платформах. Він працює на x86, але це не означає, що він обов'язково буде працювати всюди. Таким чином, kill -KILLз більшою ймовірністю успішно закінчити процес, ніж kill -9. Але вони еквівалентні на x86, тому сміливо використовуйте його там, якщо хочете.)

Якщо ви знаєте, що немає інших процесів з таким самим іменем, як той, який ви хочете вбити, ви можете використовувати killallзамість killі ім'я процесу замість ідентифікаційного номера процесу.

Процес монополізації ресурсів процесора

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

Якщо процес або комбінація процесів, що працюють з нормальним або помірно підвищеним пріоритетом, уповільнюють роботу Вашої машини, ви повинні мати змогу вбити їх, використовуючи методику, наведену вище. Але якщо вони графічні програми, ви, ймовірно, також можете їх вбити, натиснувши кнопку закриття на їхніх вікнах - середовище робочого столу дасть вам можливість вбити їх, якщо вони не відповідають. Якщо це не працює, звичайно, ви можете (майже) завжди вбивати їх kill -KILL.

Проблеми вводу / виводу

Баггі введення / виведення може викликати тривалу (навіть вічну) безвідповідальність. Це може бути пов’язано з помилкою ядра та / або драйверами помилок. Часткове вирішення полягає у тому, щоб уникнути важких та одночасних операцій читання та / або запису (наприклад, не копіюйте два великих файли одразу, у двох одночасних процесах копіювання; не копіюйте великий файл під час перегляду відео у форматі HD або встановлення ОС у віртуальній машині).

Це, очевидно, незадовільно, і справжнє рішення - знайти проблему та повідомити про неї. Якщо ви не запускаєте основне ядро ​​з kernel.org , про помилки ядра слід повідомляти проти пакета linuxв Ubuntu (оскільки Ubuntu дає спеціальні збірки ядра, що інтегрують конкретні патчі, а звіти про помилки, не підтверджені проти ядра основної лінії, буде відхилено на kernel.org ). Ви повинні зробити це, запустивши ubuntu-bug linux(або apport-cli linux) на ураженій машині. Спершу перегляньте документацію звіт про помилки Ubuntu ; це пояснює, як це зробити правильно.

Проблеми з графічною карткою

Деякі блокування з графічним інтерфейсом можуть бути спричинені проблемами з графічною карткою. Щоб полегшити це, ви можете спробувати декілька речей:

  1. Шукайте в Інтернеті, щоб переконатися, що інші люди мали подібні проблеми з тією ж відеокартою (та / або виготовленням і моделлю машини) в Ubuntu або інших дистрибутивах GNU / Linux Можуть бути рішення, більш конкретні, ніж те, що я можу запропонувати у цій відповіді, без конкретнішої інформації, ніж зараз у вашому питанні.

  2. Подивіться, чи доступні різні драйвери відео для вас. Це можна зробити, зареєструвавши додаткові драйвери; ви також можете шукати в Інтернеті, щоб побачити, які драйвери Linux доступні для вашої відеокарти. Більшість власних відеокарт - це Intel, AMD / ATi або Nvidia (натисніть ці посилання, щоб переглянути документацію спільноти про встановлення та використання власницьких драйверів для цих карт в Ubuntu). Для Intel вам найкраще дотримуватися драйверів FOSS, які є в Ubuntu, але ви можете використовувати корисну інформацію . Незалежно від того, яку картку ви маєте, ця загальна інформація може допомогти.

    Якщо ви зараз використовуєте власні драйвери, ви можете спробувати використовувати різні фірмові драйвери (наприклад, безпосередньо від NVidia або AMD / ATi), або ви можете спробувати використовувати безкоштовні драйвери з відкритим кодом.

  3. Спробуйте вибрати тип сеансу графічного входу , який не потребує / використовуйте прискорення графіки. Для цього вийдіть із системи та на графічному екрані входу натисніть логотип Ubuntu або значок шестірні біля вашого імені для входу. З'являється спадне меню. Змініть вибір з Ubuntu на Ubuntu 2D . Це змушує вас використовувати Unity 2D замість Unity . (Якщо ви використовуєте GNOME Shell , ви можете вибрати GNOME Fallback / GNOME Classic замість цього.) Якщо ви сумніваєтесь і є вибір, який говорить "без ефектів", виберіть це, оскільки це, мабуть, найбезпечніше.

    У цьому питанні є додаткова інформація про різні графічні інтерфейси, які ви можете обрати в Ubuntu.

  4. У нових версіях Ubuntu ви можете вибрати між X.org та Wayland на екрані входу. Що б ви не використовували, спробуйте інше. Іноді проблему з Wayland можна усунути за допомогою X.org або навпаки.

  5. Повідомити про помилку.

Сподіваємось, що вищенаведена інформація передала загальну інформацію про те, що може спричинити подібні проблеми. Він також повинен слугувати для висвітлення того, який тип інформації може бути корисним для вас, щоб додати до свого запитання (залежно від конкретних деталей проблеми), щоб можна було отримати ще кращу відповідь. (Або вдосконалити цю відповідь додатковою інформацією, характерною для вашої ситуації.)


1
Приємно добре зроблені поради щодо усунення несправностей висить.
Класний персонаж

Якщо клавіатура перестає відповідати, не можна використовувати Ctrl + Alt + FN
szx

6

Так, найпростіший спосіб досягти цього - ввімкнути ключі, щоб вбити Xorg-сервер та повторно запустити X-сеанс.

Щоб увімкнути це, відкрийте Налаштування системи -> Параметри розкладки клавіатури (або скористайтеся keyboardкомандою в інтерфейсі Unity, натисніть AltF2), і перевірте цю опцію:

Ctrl + Alt + Backspace

введіть тут опис зображення

Отже, коли він зависне, удар CtrlAltBackspaceвбиває X-сервер, і lightdm знову запустить інтерфейс входу


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