Я использую Ubuntu. Иногда система не реагирует с помощью мыши и клавиатуры. Есть ли способ решить эту проблему, кроме нажатия кнопки сброса на машине?
Я использую Ubuntu. Иногда система не реагирует с помощью мыши и клавиатуры. Есть ли способ решить эту проблему, кроме нажатия кнопки сброса на машине?
Ответы:
Если вам нужен способ перезагрузки, без сохранения открытых документов, но без нажатия кнопки сброса, то есть способы, которые с меньшей вероятностью могут привести к потере данных. Во- первых, попробуйте Ctrl+ Alt+ F1. Это должно привести вас к виртуальной консоли , как сказал ixtmixilix . Как только вы окажетесь в виртуальной консоли, Ctrl+ Alt+ Deleteвыключится и перезагрузит компьютер.
Если такой метод не работает, всегда есть Alt+ SysRq+REISUB .
Что касается решения проблемы без перезагрузки, без дополнительной информации о том, что происходит, было бы трудно дать хороший ответ. Если бы вы могли описать обстоятельства, при которых это происходит (лучший способ сделать это - отредактировать свой вопрос, чтобы добавить информацию), то это может помочь людям дать хорошие ответы. Еще одна вещь, которую следует учитывать, это то, что, если ваш компьютер перестает отвечать на запросы - особенно если для запуска виртуальной консоли Ctrl+ Alt+ требуется более нескольких секунд, F1то вы почти наверняка обнаружите ошибку, и, сообщив об этом, вы сможете оба помогают сообществу и, возможно, получают ответ.
Это может происходить из-за взаимодействия между приложением и оконным менеджером - или сервером X11 или Wayland. Это признак того, что проблема заключается в том, что приложение перестает отвечать на запросы и не позволяет вводить данные с клавиатуры или мыши в другие окна приложения. (Ни одно приложение не должно быть в состоянии сделать это; у некоторого компонента GUI должна быть ошибка в этом, чтобы это произошло.) Если это то, что происходит, то вы можете убить вызывающий беспокойство процесс в виртуальной консоли (как на ixtmixilix намекали):
Нажмите Ctrl+ Alt+ F1.
Войдите в систему. Вы ничего не увидите при вводе пароля. Это нормально.
Используйте утилиту, например, ps
чтобы узнать имя процесса программы-нарушителя. Иногда это легко в Ubuntu, а иногда нет. Например, имя процесса диспетчера архивов file-roller
. Если у вас возникли проблемы с ее выяснением, вы обычно можете найти информацию в Интернете без особых проблем (или, если не можете, вы можете задать вопрос об этом).
Вы можете передать ps
вывод, grep
чтобы сузить дело. Предположим, что это был менеджер архива, который был причиной проблемы. Тогда вы можете запустить:
ps x | grep file-roller
Вы увидите запись для вашей собственной grep
команды плюс запись для file-roller
.
Попытка убить оскорбительный процесс с помощью SIGTERM
. Это дает ему возможность в последнюю минуту выполнить очистку, например очистить файловые буферы, сигнализировать удаленным серверам о том, что он собирается отключиться (для протоколов, которые делают это), и освободить другие виды ресурсов. Для этого используйте kill
команду:
kill PID
где PID
- идентификатор процесса, который вы хотите убить, полученный при выполнении ps
на шаге 3.
SIGTERM
это способ твердо попросить процесс выйти. Процесс может игнорировать этот сигнал и будет делать это при сбое при определенных обстоятельствах. Так что вы должны проверить, чтобы это работало. Если это не так, убейте его SIGKILL
, который он не может игнорировать, и который всегда работает, за исключением редкого случая, когда процесс находится в непрерывном сне (или если он на самом деле не запущен, а скорее является процессом зомби ).
Вы можете как проверить, запущен ли процесс, так и убить его, SIGKILL
если он есть, с помощью одной команды:
kill -KILL PID
Если вы получаете сообщение, как , вы знаете, убивая его сработало. Если вы не получаете вывод, вы знаете, что не работает. В этом случае, вероятно, сделал, но стоит проверить, запустив его снова. (Нажмите клавишу со стрелкой вверх, чтобы вызвать предыдущие команды, для удобства ввода.)kill: (PID) - No such process
SIGTERM
SIGTERM
SIGKILL
В редких случаях для ваших собственных процессов или всегда с процессами, принадлежащими вам root
или другому пользователю, кроме вас, вы должны уничтожить процесс как root
. Чтобы сделать это, добавьте sudo
(включая завершающий пробел) перед указанными выше kill
командами. Если вышеперечисленные команды не работают , или вы сказали , что вы не имеете необходимый доступ , чтобы убить процесс, попробуйте это как root
с sudo
.
(Кстати, kill -KILL
это то же самое, что и широко популярный kill -9
. Я рекомендую, kill -KILL
потому что SIGKILL
не гарантированно иметь в 9
качестве номера сигнала на всех платформах. Он работает на x86, но это не значит, что он обязательно будет работать везде. Таким образом, kill -KILL
с большей вероятностью успешно завершит процесс, чем kill -9
. Но они эквивалентны на x86, так что не стесняйтесь использовать его там, если хотите.)
Если вы знаете, что нет других процессов с тем же именем, что и тот, который вы хотите уничтожить, вы можете использовать killall
вместо kill
и имя процесса вместо его идентификатора.
Если процесс выполняется с наивысшим приоритетом или очень близко к нему (или для его правильного определения, с наименьшей вероятностью или вблизи него ), он может сделать ваш графический пользовательский интерфейс полностью или почти полностью не отвечающим. Однако в этой ситуации вы, скорее всего, не сможете переключиться на виртуальную консоль и выполнить команды (или даже перезагрузить компьютер).
Если процесс или комбинация процессов, выполняющихся с нормальным или умеренно повышенным приоритетом, замедляют работу вашей машины, вы сможете убить их, используя технику, описанную в разделе выше. Но если они являются графическими программами, вы также можете убить их, нажав кнопку закрытия на их окнах - среда рабочего стола даст вам возможность убить их, если они не отвечают. Если это не работает, конечно, вы можете (почти) всегда убивать их kill -KILL
.
Неисправный ввод-вывод может привести к длительной (даже постоянной) безответственности. Это может быть связано с ошибкой ядра и / или ошибочными драйверами. Частичный обходной путь - избежать тяжелых и одновременных операций чтения и / или записи (например, не копируйте два больших файла одновременно, в двух одновременных процессах копирования; не копируйте большой файл во время просмотра видео высокой четкости или установки ОС в виртуальной машине).
Это явно неудовлетворительно, и реальное решение - найти проблему и сообщить о ней. Если вы не используете основное ядро из kernel.org , об ошибках ядра следует сообщать в пакете linux
в Ubuntu (поскольку Ubuntu предоставляет специальные сборки ядра, которые включают в себя патчи, относящиеся к дистрибутиву, а сообщения об ошибках, не подтвержденные для основного ядра, будут отклоняться при kernel.org ). Вы должны сделать это, запустив ubuntu-bug linux
(или apport-cli linux
) на зараженной машине. Сначала посмотрите документацию по отчетам об ошибках в Ubuntu ; это объясняет, как сделать это правильно.
Некоторые блокировки графического интерфейса могут быть вызваны проблемами с графической картой. Есть несколько вещей, которые вы можете попробовать, чтобы облегчить это:
Поищите в Интернете, чтобы узнать, сталкивались ли другие люди с аналогичными проблемами с той же видеокартой (и / или производителем и моделью машины) в Ubuntu или других дистрибутивах GNU / Linux. Могут быть решения, более конкретные, чем то, что я могу предложить в этом ответе, без более конкретной информации, чем в настоящее время в вашем вопросе.
Посмотрите, есть ли другие видео драйверы для вас. Вы можете сделать это, отметив Дополнительные драйверы; Вы также можете выполнить поиск в Интернете, чтобы узнать, какие драйверы Linux доступны для вашей видеокарты. Наиболее проприетарными видеокартами являются Intel, AMD / ATi или Nvidia (перейдите по этим ссылкам, чтобы просмотреть документацию сообщества по установке и использованию проприетарных драйверов для этих плат в Ubuntu). Для Intel лучше всего придерживаться драйверов FOSS, которые есть в Ubuntu, но есть полезная информация, которую вы можете использовать. Независимо от того, какая у вас карта, эта общая информация может помочь.
Если вы в настоящее время используете проприетарные драйверы, вы можете попробовать использовать другие проприетарные драйверы (например, напрямую от NVidia или AMD / ATi), или вместо этого вы можете попробовать использовать бесплатные драйверы с открытым исходным кодом.
Попробуйте выбрать тип графического сеанса входа в систему , который не требует / использует ускорение графики. Для этого выйдите из системы и на графическом экране входа в систему щелкните логотип Ubuntu или значок шестеренки рядом с вашим именем пользователя. Раскрывающееся меню показано. Измените выбор с Ubuntu на Ubuntu 2D . Это заставляет вас использовать Unity 2D вместо Unity . (Если вы используете GNOME Shell , вы можете вместо этого выбрать GNOME Fallback / GNOME Classic .) Если есть сомнения, и есть выбор, который говорит «без эффектов», выберите его, так как это, вероятно, самый безопасный.
Этот вопрос содержит дополнительную информацию о различных графических интерфейсах, которые вы можете выбрать в Ubuntu.
В более новых версиях Ubuntu вы можете выбирать между X.org и Wayland на экране входа в систему. Что бы вы ни использовали, попробуйте другой. Иногда проблему с Wayland можно решить с помощью X.org или наоборот.
Надеемся, что приведенная выше информация дала некоторую общую информацию о том, что может быть причиной такого рода проблем. Оно также должно помочь вам определить, какую информацию вам может пригодиться для добавления к вашему вопросу (в зависимости от конкретных деталей проблемы), чтобы получить возможность получить еще лучший ответ. (Или для улучшения этого ответа с дополнительной информацией, специфичной для вашей ситуации.)
Да, самый простой способ архивировать это - включить ключи для уничтожения сервера Xorg и перезапустить X-сеанс.
Чтобы включить это, откройте Системные настройки -> Параметры раскладки клавиатуры (или используйте
keyboard
команду в интерфейсе Unity, нажмите AltF2) и отметьте эту опцию:
Ctrl + Alt + Backspace
Поэтому, когда он зависает, CtrlAltBackspaceнажатие убивает X-сервер, и lightdm перезапускает интерфейс входа
Alt+Print+K
будет делать то же самое из коробки, нет?