Завис линукс что делать

Обновлено: 05.07.2024

Какой-нибудь непримиримый оптимист-линуксятник может сказать - такого быть не может - чтобы завис линукс. Но увы и ах, такое случается. И любой человек, пользующийся этой ОС может столкнуться с ситуацией, когда его любимый (или нелюбимый) Linux завис.

Однако в сторону смехуечки. В этой статье будет рассмотрен частный случай зависания ОС Linux - когда графический интерфейс не реагирует на действия пользователя, но клавиатура работает. Если быть точным, в такой ситуации зависает не Linux как таковой, а всего лишь один из процессов - тот который реализует графический интерфейс пользователя - это может быть GNOME, KDE, Unity или что-то другое.

Итак, что мы можем сделать в том случае если завис GNOME, KDE или Unity?

Если у вас Unity то для начала попробуйте на клавиатуре нажать правый Alt + PrintScreen + K. Это сочетание выполняет перезапуск графического движка lightdm. Если поможет, тогда перед вами откроется экран авторизации.

Если это не сработает или у вас не Unity, а GNOME или KDE завис, тогда нажимайте Ctrl + Alt + F1. В Ubuntu это сочетание открывает новую терминальную (tty) сессию. Безо всяких гуев - только чистый терминал. Выглядит это страшно - пустой черный экран с мигающим курсором. Но вообще-то там ничего сложного нет - сначала пишете имя пользователя, нажимаете Enter, затем пароль и опять Enter и после этого вы возвращаете себе управление над своим компьютером.

Примечание. Не во всех дистрибутивах открытие новой tty сессии выполняется по Ctrl + Alt + F1. Например в Fedora это будет Ctrl + Alt + F2. Если Ctrl + Alt + F1 не сработал, пробуйте другие клавиши F. Или это может быть сочетание клавиш Ctrl + Alt + Backspace (один или два раза).

Итак вы в терминале. Что можно предпринять для возвращения в GUI?

Самое простое это выполнить команду - reboot - компьютер перезагрузится. Но это довольно долго.

Можно выполнить просто перезагрузку графического движка:

  • sudo service lightdm restart - для Unity
  • sudo service gdm restart - для GNOME
  • sudo service kdm restart - для KDE

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

ps -A | grep -i xorg

После этого автоматически должен стартовать новый процесс сервера xorg и в свою очередь запустить движок GUI. Если автоматического старта не произошло можно запустить сервер вручную:

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

Как вернуться в GUI сессию если вы находитесь в консольной сессии?

В Ubuntu Unity и KDE GUI сессия по умолчанию открывается на tty7, то есть переход туда возможен по Ctrl + Alt + F7. В GNOME 2 и 3 или в другом дистрибутиве GUI сессия может быть открыта на другом tty. Узнать какой tty используется для GUI сессии можно выполнив команду:

ps -A | grep -i xorg

в одной из колонок будет значение вида tty7. Какая цифра будет, такую клавишу F нужно нажимать.

Остается открытым вопрос почему Linux зависает, точнее почему GNOME или KDE зависает, но это тема для отдельной статьи. Разобраться в причинах почему GNOME завис или KDE завис может быть совсем непросто и если эта проблема возникает редко, проще ее игнорировать, чем тратить время на поиск причины.

По практике нескольких лет использования могу сказать - зависает Ubuntu Linux очень редко и если такое случается, то как правило из-за проблем с аппаратным обеспечением - видео или оперативной памятью. Но иногда бывает, что Ubuntu GNOME зависает в бета-версиях - бета она и есть бета. Так, что я всегда советую устанавливать только LTS версии Ubuntu.

Иван Сухов, 2012 г.

В этой статье мы поговорим о том, что делать если зависла Ubuntu или Linux Mint. Разберем несколько самых удобных, понятных и быстрых вариантов. Если у вас возникнут какие-то вопросы по этой теме, можете написать о них в форме комментариев.

Постарайтесь как можно более подробно описать вопрос.

Также рекомендуем ознакомиться с предыдущими статьями на нашем сайте, например мы уже рассказывали о том, как майнить Эфириум на Ubuntu.

Что делать если зависла Ubuntu


Начнем из самого простого способа, который подходит в большинстве случаев.

Когда одна программа перестает работать

Когда окно программы перестает отвечать на запросы, вы можете остановить его, нажав кнопку X-shaped Close в левом верхнем углу окна. Это, как правило, приводит к диалогу, в котором говорится, что программа не отвечает (но вы уже это и так знаете) и предоставляет вам возможность закрыть программу или продолжать ждать ответа.

Иногда это не работает должным образом. Если вы не можете закрыть окно обычными способами, вы можете нажать Alt + F2, введите xkill и нажмите Enter. Затем ваш курсор мыши превратится в X. Наведите курсор на нужное окно и щелкните левой кнопкой мыши, чтобы закрыть это окно. Правый щелчок отменит команду и вернет вашу мышь в нормальное состояние.


Когда мышь перестает работать:

Если клавиатура все еще работает, нажмите Alt + F2 и запустите gnome-terminal (или, если они не запускаются, нажмите Alt + Ctrl + F1 и войдите в систему с вашим именем пользователя и паролем). Оттуда вы можете устранить неполадки. Здесь я не собираюсь заниматься поиском и устранением неполадок с мышью, поскольку я не исследовал его. Если вы просто хотите попробовать перезапустить графический интерфейс, запустите перезапуск sudo service lightdm. Это должно привести к закрытию GUI, который затем попытается перезагрузится, возвращая вас на экран входа в систему.

Давайте перейдем к еще одному способу, что делать если зависла Ubuntu.

Когда все, клавиши и мышь и все перестают работать

Если это не работает, нажмите кнопку «Сброс» на корпусе компьютера. Если даже это не сработает, вам просто нужно зажать кнопку питания на корпусе. После зажатия кнопки включения устройство перезагрузится.

Надеемся, мы помогли вам в решении ситуации о том, что делать если зависла Ubuntu, Elementary OS и остальные дистрибутивы.

Выводы

Как вы заметили, есть много способов по решению этого вопроса. Сначала лучше выбирать самые простые, так как Ubuntu может зависнуть в случае загруженной оперативной памяти. Для этого нужно просто свернуть самый прожорливый из программ процесс.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Когда я только переходил на Linux, то много читал о том, что Linux невозможно повесить, «это тебе не винда», и что в нем дофига способов обойтись без кнопки перезагрузки на системнике. Раньше мне это было как-то до фонаря, но в последнее время из-за глюков VLC в ubuntu постоянно были зависания, когда ставил фильм на паузу дольше минуты. Не помогало ничего, никакие советы, никакие комбинации клавиш и т.д. Только перезагрузка с системника.

Неужели в Linux не существует нормального способа перезапуска сеанса в таких ситуациях? Почему ничего не придумывают? На новых компах щас даже не всегда такая кнопка есть, не каждый догадается, что надо удерживать кнопку включения. Да и способ как по мне не очень, насиловать блок питания каждый раз.

ctrl+alt+f2 > логин/пароль > killall vlc.


F3 — теперь на F1 логи, на F2 GUI.

А вот не работает. Это был самый известный способ. Никакие из ctrl-f1-12 не заработают. В обычное время переключается, после зависания уже нет.

Это на каком дистре? У меня в ubuntu gui на f7, в fedora на f1.


А если завис действительно намертво, то есть SysRq, погугли. Лучше использовать в комбинации с crashkernel, чтобы потом проанализировать дамп. SysRq + С

Vsevolod-linuxoid ★★★★★ ( 10.05.20 15:13:08 )
Последнее исправление: Vsevolod-linuxoid 10.05.20 15:13:52 (всего исправлений: 1)


Про SysRq еще в вики читал, ни разу не сработало. Есть идеи почему?

Значит либо что-то с железом (или его совместимостью с Linux), или железо слабое. Изредка зависания могут наблюдаться из-за программных глюков, но в основном на не очень стабильных дистрах.

А так для начала проверь память мемтестом. Особенно если и windows тоже зависает.


Наверное, дело в USB-клавиатурах. Тут бы PS/2 с аппаратной SysRq.


Ага. Спасибо кривым UEFI — некоторые материнки мосле memtest превращаются в кирпич. Скоро железо не для серверов будет вообще невозможно нормально использовать.

Когда я только переходил на Linux, то много читал о том, что Linux невозможно повесить, «это тебе не винда», и что в нем дофига способов обойтись без кнопки перезагрузки на системнике.

7 способов "убить" зависшее приложение в Linux

Если у вас возникают такие проблемы, вот несколько способов, как принудительно завершить программу в Linux.

1. Завершить программу в Linux, просто нажав на "X"


Вы, наверное, уже пытались уйти и сделать себе чашечку кофе, но когда вернулись, обнаружили, что ваша программа зависла, вероятно, у него было достаточно времени, чтобы "отвиснуть", но этого не произошло. Зависшее приложение обычно имеет серые неактивные кнопки управления и у него пропадает возможность перемещения.

2. Воспользуйтесь системным монитором, чтобы "убить" процесс Linux


Следующий вариант - открыть утилиту System Monitor вашей операционной системы Linux. Обычно она находится в меню "Системные инструменты" и отображает список запущенных процессов на вкладке "Процессы".

Чтобы закрыть не отвечающее приложение, просто выберите его и щелкните правой кнопкой мыши. Затем у вас появится три варианта:

  • Остановить: приостанавливает процесс, позволяя продолжить его позже. Не будет работать в большинстве случаев.
  • Завершить: правильный способ закрыть процесс, он безопасно завершит работу приложения, вместе с ним удаляя временные файлы.
  • Убить: вариант на крайний случай и его рекомендуется применять только в случае сбоя.

Лучше всего использовать их по порядку. Однако, если приложение регулярно зависает, можно использовать вариант, в котором вы точно уверены.

3. Принудительное уничтожение процесса Linux с помощью xkill

Другой вариант - использование команды xkill в терминале. Это инструмент принудительного уничтожения процесса, который предустановлен в Ubuntu, но его можно также установить через терминал в других дистрибутивах, если необходимо. xkill позволит закрыть любой процесс. Установить его можно с помощью следующей команды:

Как только установите, наберите:

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

Если невозможно закрыть зависшее приложение одним из этих методов, то решение может быть в терминале Linux.

4. Используйте команду "kill"

Если ни один из вышеперечисленных методов не помог и приложение до сих пор не отвечает, нажмите Ctrl + Alt + T, чтобы открыть терминал.

Есть несколько команд, которые должны помочь закрыть ваше приложение. Более того, их можно использовать как на вашем компьютере, так и подключившись удаленно через SSH.

Команда kill может быть использована только с указанием идентификатора процесса. Сначала выясним его:

В результате вы увидите ID нужного процесса. Далее используем команду:

Возможно, вам понадобятся системные права для использования программы, тогда используйте sudo.


5. Используйте команды "pgrep" и "pkill"

Что, если вы не смогли найти идентификатор процесса. Здесь вам поможет команда pkill.

Кроме того, можно использовать команду pgrep, чтобы найти идентификатор процесса:

После этого используйте команду pkill с ID процесса.


Как и в случае команды kill, процесс должен завершиться в течение 5 секунд.

6. Уничтожить все экземпляры процесса с помощью "killall"

Не повезло с kill или pkill? Пришло время использовать ядерную опцию: killall.

К счастью, она не так разрушительна, какой могла бы быть. Команда killall завершит все экземпляры указанной программы. Таким образом, вместо того, чтобы убивать одно окно Firefox, данная команда завершит их все:

Все, что вам нужно, это имя процесса и команда killall (возможно, с sudo, если этого требует ваша система).

Естественно, вы должны использовать эту команду только при необходимости. Она не подходит для большинства ситуаций.

7. Создайте комбинацию клавиш

Хотите сэкономить время на закрытие не отвечающего программного обеспечения? Наилучшим вариантом является создание сочетания клавиш. Это даст вам возможность немедленно закрыть приложение, но для этого потребуется xkill.

В Ubuntu откройте "Настройки">"Клавиатура" и нажмите "Комбинации клавиш". Выберите Дополнительные комбинации, затем +, чтобы создать новую. Введите "xkill" для названия, затем нажмите "Применить". Это вернет вас к списку комбинаций - выберите нужную, затем нажмите необходимую комбинацию клавиш, которую вы будете использовать для ее вызова.


В следующий раз, когда вам нужно закрыть приложение, просто используйте сочетание клавиш. Указатель мыши станет "X", и вы можете щелкнуть в любом месте приложения, которое хотите закрыть.

Избегайте зависаний программ: обновите свое оборудование

Зависающие программы постоянно вызывают проблемы? Возможно, пора немного обновить ваш компьютер.

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

Итак, в следующий раз, когда приложение или утилита Linux зависнет и перестанет отвечать на запросы, все, что вам нужно сделать, это применить одно из следующих решений:

  1. Завершить программу в Linux, просто нажав на "X".
  2. Воспользуйтесь системным монитором, чтобы "убить" процесс Linux.
  3. Принудительное уничтожение процесса Linux с помощью xkill.
  4. Используйте команду "kill".
  5. Используйте команды "pgrep" и "pkill".
  6. Уничтожить все экземпляры процесса с помощью "killall".
  7. Создайте сочетание клавиш.

Если ни одно из этих решений не работает и вы регулярно испытываете не отвечающие приложения Linux, рассмотрите возможность перехода на облегченную операционную систему Linux.

Читайте также: