Какой-нибудь непримиримый оптимист-линуксятник может сказать — такого быть не может — чтобы завис линукс. Но увы и ах, такое случается. И любой человек, пользующийся этой ОС может столкнуться с ситуацией, когда его любимый (или нелюбимый) Linux завис.
Однако в сторону смехуечки. В этой статье будет рассмотрен частный случай зависания ОС Linux — когда графический интерфейс не реагирует на действия пользователя, но клавиатура работает. Если быть точным, в такой ситуации зависает не Linux как таковой, а всего лишь один из процессов — тот который реализует графический интерфейс пользователя — это может быть GNOME, KDE, Unity или что-то другое.
Итак, что мы можем сделать в том случае если завис GNOME, KDE или Unity?
Если у вас Unity то для начала попробуйте на клавиатуре нажать правый Alt + PrintScreen + K. Это сочетание выполняет перезапуск графического движка lightdm. Если поможет, тогда перед вами откроется экран авторизации.
Если это не сработает или у вас не Unity, а GNOME или KDE завис, тогда нажимайте Ctrl + Alt + F1. В Ubuntu это сочетание открывает новую терминальную (tty) сессию. Безо всяких гуев — только чистый терминал. Выглядит это страшно — пустой черный экран с мигающим курсором. Но вообще-то там ничего сложного нет — сначала пишете имя пользователя, нажимаете Enter, затем пароль и опять Enter и после этого вы возвращаете себе управление над своим компьютером.
Убиваем зависшие программы в Linux
Примечание. Не во всех дистрибутивах открытие новой 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 сессии можно выполнив команду:
Как завершить зависшую программу, процесс в Linux Ubuntu.
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 невозможно повесить, «это тебе не винда», и что в нем дофига способов обойтись без кнопки перезагрузки на системнике.
Если у вас возникают такие проблемы, вот несколько способов, как принудительно завершить программу в 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 зависнет и перестанет отвечать на запросы, все, что вам нужно сделать, это применить одно из следующих решений:
- Завершить программу в Linux, просто нажав на «X».
- Воспользуйтесь системным монитором, чтобы «убить» процесс Linux.
- Принудительное уничтожение процесса Linux с помощью xkill.
- Используйте команду «kill».
- Используйте команды «pgrep» и «pkill».
- Уничтожить все экземпляры процесса с помощью «killall».
- Создайте сочетание клавиш.
Если ни одно из этих решений не работает и вы регулярно испытываете не отвечающие приложения Linux, рассмотрите возможность перехода на облегченную операционную систему Linux.
- Как отозвать сертификат openvpn windows
- Плей он линукс как пользоваться
- Windows disk diagnostic user resolver что это
- Split second не запускается на windows 10
- Ubuntu customization kit как пользоваться
Источник: kompyutery-programmy.ru
Как выйти из зависших программ в Linux
Даже такая надежная операционная система, как Linux , иногда может сталкиваться с проблемами, из-за которых приложения или программы зависают.
Есть несколько способов убить или выйти из зависшей программы в Linux . Эта статья объяснит, как это сделать.
Используйте команду «Убить» (Use The Kill Command)
Прежде чем вы сможете использовать команду kill, ваша система должна знать идентификатор процесса (Process ID) ( PID ) не отвечающей программы.
PID — это число, которое автоматически идентифицирует каждый процесс при его создании в любой ОС Linux (Linux OS) . Преимущество этого метода в том, что он работает на всех системах Linux .
Найдите процесс и PID (Find The Process pkill)
Несколько систем Linux предлагают ярлыки, называемые pkill и pgrep , для выполнения тех же задач, что и kill и ps , описанные выше.
Pgrep покажет имя и идентификатор процесса. Например, запустив pgrep chrome , вы увидите идентификатор запущенного процесса Chrome . Затем вы можете использовать этот идентификатор с командой kill.
7012 (pkill 7012)
Или вы можете пропустить этот шаг и использовать приведенную ниже команду, чтобы убить все экземпляры Chrome :
хром (pkill chrome)
Это решение хорошо работает, если у вас запущен только один экземпляр приложения. Однако, если у вас открыто несколько окон одной и той же программы и вы хотите убить только одно, вместо этого используйте XKill .
Когда программа зависает, перезапуск системы не всегда самый удобный вариант. Это особенно актуально, если вы работаете над несколькими проектами одновременно и не сохранили свою работу.
Попробуйте один из вариантов выше в качестве альтернативы для простого и быстрого безопасного выхода из зависших или не отвечающих программ в Linux .
How To Quit Frozen Programs In Linux
Εven a robust operating system like Linux can sometimes encounter problems that cauѕe apps or programs to freeze.
There are several ways to kill or quit a frozen program on Linux. This article will explain how.
Use The Kill Command
Before you can use the kill command, your system needs to know the Process ID (PID) of the unresponsive program.
PID is a number that automatically identifies each process when created on any Linux OS. An advantage of this method is that it works on all Linux systems.
Find The Process pkill
Several Linux systems offer shortcuts called pkill and pgrep for performing the same tasks as kill and ps discussed above.
Pgrep will show the process name and ID. For example, running pgrep chrome to see the process ID of the running Chrome process. You can then use that ID with the kill command.
pkill 7012
Or, you can skip this step and use the command below to kill all instances of Chrome:
pkill chrome
This solution works well if you only have one instance of an application running. However, if you have several windows open of the same program and only want to kill one, use XKill instead.
When a program hangs, restarting your system is not always the most convenient option. This is especially true if you are working on several projects at the same time and have not saved your work.
Try one of the options above as an alternative to easily and quickly exit frozen or non-responsive programs on Linux safely.
Майя Кузнецова
About the author
Я инженер-программист с более чем 10-летним опытом работы в индустрии Xbox. Я специализируюсь на разработке игр и тестировании безопасности. Я также являюсь опытным обозревателем и работал над проектами для некоторых из самых известных игровых компаний, включая Ubisoft, Microsoft и Sony. В свободное время я люблю играть в видеоигры и смотреть сериалы.
Источник: 101-help.com
Убиваем зависшие приложения в Ubuntu
Иногда приложения, работающие в вашей системе, зависают и перестают отвечать. Замороженное приложение нельзя закрыть простым нажатием кнопки x в правом верхнем углу интерфейса, но перезагрузка системы не всегда является хорошим решением, особенно если в системе работают критически важные службы.
В Ubuntu есть несколько методов, которые можно использовать для безопасного и быстрого уничтожения замороженных приложений без перезагрузки системы: xkill, утилиты системного монитора и команды kill, pkill и killall. В этой статье мы обсудим эти методы на машине под управлением Ubuntu 20.04 LTS (Focal Fossa) .
Xkill
Xkill — это утилита для Linux, которая позволяет убивать зависшие приложения, работающие в Ubuntu. Он предустановлен в большинстве дистрибутивов Linux, но если он не установлен в вашей системе, вы можете установить его, как описано ниже.
Сначала откройте терминал, используя Ctrl + Alt + Del и введите следующую команду:
$ sudo apt install xorg-xkill
Затем укажите sudo пароль, а при запросе подтверждения нажмите y, после чего система начнет установку Xkill. После завершения установки xkill можно использовать для уничтожения неотвечающих приложений.
Чтобы убить зависшее приложение, просто введите xkill в Терминале:
При этом ваш курсор станет x . Просто поместите x на приложение, которое вы хотите закрыть, и щелкните его, чтобы немедленно закрыть приложение.
Вы можете создать сочетание клавиш для xkill, щелкнув правой кнопкой мыши рабочий стол Ubuntu и открыв приложение Настройки .
В окне настроек выберите Сочетания клавиш на левой панели.
Затем на правой панели нажмите кнопку +, как показано на скриншоте ниже.
Когда появится следующее диалоговое окно, укажите понятное имя для ярлыка в поле Имя . Затем в поле Команда введите xkill. Затем нажмите кнопку Установить ярлык , чтобы выбрать ярлык для утилиты xkill.
Используйте любую комбинацию клавиш для установки ярлыка для утилиты xkill. Например, чтобы использовать Ctrl + k для запуска xkill, нажмите и удерживайте, а затем нажмите клавишу k. Затем отпустите обе клавиши.
Нажмите кнопку Добавить , чтобы добавить ярлык.
Теперь, когда вам нужно нужно убить зависшее приложение, вы можете нажать сочетания клавиш для выполнения команды xkill.
Использование системного монитора
Из системного монитора Ubuntu вы также можете убить приложение. Чтобы открыть системный монитор, нажмите супер-клавишу на клавиатуре и войдите в системный монитор. Когда появится значок системного монитора, щелкните его, чтобы открыть.
В приложении System Monitor будет список процессов, которые в настоящее время запущены в системе. Выберите процесс, который вы хотите убить, и щелкните его правой кнопкой мыши. В появившемся меню выберите Kill , чтобы немедленно убить выбранный процесс.
Использование kill, pkill и killall
Kill, pkill и killall могут быть вызваны в командной строке, чтобы убить приложение на основе имени процесса или идентификатора процесса. (PID).
Чтобы найти PID, введите в терминале следующую команду:
$ ps aux | grep
Например, в следующем выводе 34636 — это PID приложения Rhythmbox.
$ ps aux | grephythmbox
Чтобы убить процесс, используя его PID, используйте команду kill следующим образом:
$ kill 34636
Здесь 34636 — это PID Rhythmbox, полученный выше.
В качестве альтернативы, чтобы убить процесс, используя его имя, вы можете использовать команды pkill и killall . Чтобы использовать pkill для уничтожения процесса, введите pkill , а затем имя процесса, как показано ниже:
$ pkillhythmbox
Чтобы использовать killall для завершения процесса, введите killall , за которым следует имя процесса, как показано ниже:
$ killall chrome
Заключение
Как видите, есть несколько способов убить зависшее приложение в Ubuntu. Используя любой из вышеперечисленных методов, вы можете легко убить приложение, которое не отвечает и не завершает работу. Точно так же вы можете убить приложение, заблокированное другим процессом.
Источник: nanomode.ru