If i help You, send me BTC please 1CJGz4UGyL7hTjPeN8j7fu9LRmmWiWSRHi

Поиск и устранение неисправностей в Ubuntu.

Постов 92 из 175

Каждый пользователь сталкивался с ситуацией, когда либо какое-то отдельное приложение, либо вся система «зависает» (freeze), переставая откликаться на действия пользователя в обычном режиме. Явление, несомненно, неприятное, но довольно частое, поэтому знание о том, как себя вести и что делать, если это явление постигло Вас — обязательная и необходимая часть так называемой «компьютерной грамотности». Я не стану изобретать велосипед, придумывая пути выхода из ситуации, а лишь приведу частичный перевод этого далеко не нового вопроса с очень информативного форума.

Все операционные системы иногда зависают и Ubuntu — не исключение. Что нужно делать для восстановления контроля, если:

1. только одна программа зависает;

2. система перестает адекватно реагировать только на клики мыши.

3. вся система зависает, не реагируя ни на клики мыши ни на нажатия клавиш клавиатуры.

Что и в каком порядке нужно сделать, прежде чем выдернуть кабель питания из розетки? Есть ли какая-то стандартная процедура диагностики?

1. Если только одна программа зависает.

1.1. Если окно программы перестает адекватно реагировать на действия пользователя (окно зависшего приложения обычно окрашивается в серые тона), можно попробовать нажать на «Х» (крестик) в верхнем либо левом, либо правом углу окна. В результате должно появиться окно сообщающее, что программа зависла (о чем мы уже догадались) и предлагающее либо принудительно завершить программу либо попробовать дождаться пока программа станет доступна.

1.2. Но иногда на «Х» (крестик) нажать просто нет возможности. В таком случае нужно на клавиатуре нажать одновременно клавиши ALT+F2, в появившемся окне (или активированной строке ввода) напечатать «xkill», и нажать «Enter» на клавиатуре. При этом курсор мышки должен превратиться в «Х», его нужно навести на зависшее окно и нажать левую клавишу мыши (если нажать правую клавишу — курсор мыши примет свой обычный вид). Результатом этих действий должно быть то же окно с предложением аварийно завершить зависшее приложение или подождать пока программа станет доступна.

1.3. Если приложение не закрывается описанными выше двумя способами, то его можно завершить через терминал. Для этого нужно запустить терминал: Приложения-Стандартные-Терминал в Gnome или ALT+F2 и в появившейся строке ввода набрать gnome-terminal и нажать «Enter» на клавиатуре. В появившемся окне терминала нужно набрать «ps -ax | grep «имя_программы». Из ответного вывода терминала можно узнать PID программы. Используем его далее как аргумент команды kill, набрав в терминале: kill -9 PID, и нажав «Enter» на клавиатуре.

Например, зависшее окно программы nautilus (оконный менеджер Ubuntu) можно завершить следующим образом: набираем в терминале:

ps -ax | grep nautilus

получаем:

2103 ? Sl 0:26 nautilus

2126 ? Sl 0:35 nautilus 7128 pts/0 S+ 0:00 grep --color=auto nautilus

откуда видно, что PID программы nautilus = 2103. Во второй строке выдачи содержится информация о инициированном нами процессе поиска. Его не стоит пытаться завершить. Для завершения nautilus далее набираем в терминале:

kill -9 2103

2.  Если система перестает адекватно реагировать только на клики мыши.

Если на нажатия клавиш мыши система не реагирует, но реагирует на нажатия клавиатуры, то есть несколько вариантов, как следует действовать.

2.1. Если на сочетание клавиш CTRL+ALT+BACKSPACE назначен перезапуск X-сервера — выполнить перезапуск, если не назначен, или неизвестно, переходим к следующему пункту.

2. 2. Нажать ALT+F2 и в появившейся строке ввода набрать «gnome-terminal» и нажать «Enter» на клавиатуре. В результате должно открыться окно терминала, из которого можно либо попробовать восстановить работоспособность мыши (для опытных пользователей с помощью таких диагностических команд как lsusb, lspci и др.) либо завершить текущий сеанс пользователя, набрав:

gnome-session-save --logout

Можно сразу и перезагрузить компьютер, набрав:

sudo reboot

2.3. Если при нажатии ALT+F2 система никак не отзывается — можно попробовать зайти в первую консоль, нажав на клавиатуре CTRL+ALT+F1. На экране должно высветиться предложение ввести имя пользователя (login:). После ввода имени пользователя и пароля можно либо попробовать восстановить работоспособность мыши (для опытных пользователей с помощью таких диагностических команд как lsusb, lspci и др.) либо перезагрузить систему, набрав:

sudo reboot

3. Если вся система зависает, не реагируя ни на клики мыши ни на нажатия клавиш клавиатуры.

Есть «волшебная» комбинация клавиш, предназначенная для ситуаций, когда система «зависла» и не реагирует ни на клавиатуру ни на мышь. Итак, когда все «зависло», то перед нажатием кнопки перезагрузки (Reset) или питания (Power) зажимаем на клавиатуре клавиши ALT и SysRq (она же PrtScr) и последовательно нажимаем дальше клавиши: R, E, I, S, U, B. Между нажатиями каждой следующей клавиши в этой последовательности желательно выдерживать паузу в 1-2 секунды, чтобы система успела завершить  выполняемую команду перед вызовом следующей. При нажатии клавиш происходит следующее:

R — unRaw (перехватить управление клавиатурой),
E — tErminate (послать SIGTERM всем процессам),
I — kIll (послать SIGKILL всем процессам, которые не смогли завершиться предыдущей командой),
S — Sync (синхронизировать файловые системы),
U — Unmount (перемонтировать файловые системы в режим «только чтение»),
B — reBoot. (и напоследок, совершить перезагрузку).

В некоторых случаях, вместо ожидаемых от системы операций, описанная комбинация клавиш инициирует только процесс создания скриншотов. Чтобы все-же запустить процесс перезапуска системы к описанной комбинации нужно добавить клавишу CTRL. Т. е. CTRL+ALT+SysRc и нажимать R, E, I, S, U, B.

И только в случае, когда все описанные выше методы не привели к перезагрузке сстемы, нужно нажимать кнопку перезагрузки (Reset) на системном блоке, или кнопку питания (Power) на нет\ноутбуке или настольном компьютере.

Никакой траблшутинг не будет полным, если не выяснить причину краха приложения или всей системы. Для этого, после перезагрузки необходимо изучить файлы системы, в которых должны содержаться сведения о случившемся. Информация о «зависших» приложениях в Ubuntu (точно для версий 11.04-12.04) содержится в файле /var/log/apport.log (зависающие приложения, такие как: nautilus, remmina и другие записывают в этот файл информацию о крахе и ссылку на отчет в /var/crash/) или /var/log/syslog (сюда, например, записываются ошибки segfault от google-chrome и др.) Для просмотра файлов нужно набрать в терминале:

gedit /var/log/apport.log
geddit /ver/log/syslog

Помимо этого некоторые приложения могут создавать собственные логи, но это нужно читать документацию по этим приложениям.

Вот и все, удачной работы и поменьше ситуаций, когда могут понадобиться знания из этой статьи).

, , ,

myr4ik0712/11/2012 at 14:38Reply

Ну а чего?! Очень даже полезно и alt+2 = xkill и не знал.
Спасибо, что то запомнил, что то вспомнил. Полезно. Пишите подобное еще.

Menu