Содержание статьи

Спящий режим в Ubuntu снижает энергопотребление и сохраняет состояние системы, однако неправильная настройка может привести к тому, что компьютер не выходит из сна. В большинстве случаев проблема связана с драйверами графики, конфликтами ACPI или некорректными параметрами энергосбережения.
Для быстрого восстановления работы устройства рекомендуется сначала проверить настройки энергосбережения через Настройки → Электропитание, убедившись, что опции пробуждения активированы для клавиатуры и мыши. На ноутбуках важно проверить реакцию системы на закрытие крышки и корректность выбранного действия: свернуть или спящий режим.
Если стандартные методы не помогают, стоит проанализировать состояние драйверов видеокарты и обновить ядро Ubuntu до актуальной версии. Дополнительно полезно изучить журналы системы через команду journalctl для выявления ошибок suspend/resume, которые могут блокировать пробуждение.
В редких случаях требуется применение ручных команд, таких как systemctl suspend и systemctl resume, для тестирования восстановления работы. Эти действия позволяют определить, является ли проблема аппаратной или связанной с конфигурацией системы.
Проверка настроек энергосбережения

Для проверки параметров энергосбережения откройте Настройки → Электропитание и убедитесь, что значения Выход из спящего режима при активности клавиатуры и мыши включены. На ноутбуках проверьте раздел Действие при закрытии крышки и установите Не выполнять никаких действий или Спящий режим в зависимости от потребностей.
В терминале можно получить текущие настройки с помощью команды gsettings list-recursively org.gnome.settings-daemon.plugins.power. Параметры sleep-inactive-ac-timeout и sleep-inactive-battery-timeout определяют время автоматического перехода в спящий режим для сети и батареи соответственно. Значения равные 0 отключают автоматический сон.
Если устройство не выходит из сна, проверьте включение Wake on LAN и Wake on USB через sudo ethtool и cat /proc/acpi/wakeup. Активные устройства должны иметь статус enabled для корректного пробуждения.
После изменения настроек рекомендуется выполнить перезагрузку или повторное пробуждение системы для применения изменений. Это позволяет убедиться, что конфигурация энергосбережения учитывает все периферийные устройства и параметры ядра.
Использование клавиатуры и мыши для пробуждения
Для проверки работы используйте lsusb и xinput, чтобы определить идентификаторы подключенных устройств. Убедитесь, что выбранный драйвер поддерживает события пробуждения; для большинства современных USB-устройств достаточно стандартного usbhid.
На ноутбуках дополнительно проверьте сочетания клавиш Fn для управления питанием. Некоторые модели имеют отдельные модули, блокирующие пробуждение клавиатуры. В таких случаях необходимо включить параметр HandleLidSwitch в файле /etc/systemd/logind.conf и перезапустить systemd-logind через sudo systemctl restart systemd-logind.
После внесения изменений выполните тестовое погружение системы в спящий режим с последующим нажатием клавиш или движением мыши. Если пробуждение происходит некорректно, проверьте настройки BIOS/UEFI для разрешения Wake on USB и Wake on Keyboard.
Настройка поведения при закрытии крышки ноутбука
В Ubuntu можно настроить систему для определенного поведения при закрытии крышки ноутбука. Для этого откройте файл /etc/systemd/logind.conf с помощью текстового редактора, например, через команду sudo nano /etc/systemd/logind.conf. Найдите строку #HandleLidSwitch= и раскомментируйте её, убрав решетку, затем установите нужное действие.
Доступные опции для HandleLidSwitch:
- poweroff – выключение системы при закрытии крышки.
- reboot – перезагрузка при закрытии крышки.
- suspend – переход в спящий режим.
- hibernate – переход в гибернацию.
- ignore – игнорирование действия.
После внесения изменений в файл необходимо перезапустить systemd с помощью команды sudo systemctl restart systemd-logind. Если нужно изменить поведение для отдельного действия на батарее и от сети, используйте HandleLidSwitchDocked и HandleLidSwitchExternalPower.
| Опция | Поведение |
|---|---|
| HandleLidSwitch | Определяет действие при закрытии крышки ноутбука, независимо от источника питания. |
| HandleLidSwitchExternalPower | Определяет действие при закрытии крышки ноутбука, когда он подключен к сети. |
| HandleLidSwitchDocked | Определяет действие при закрытии крышки, когда ноутбук подключен к док-станции. |
Для завершения изменений перезагрузите систему, чтобы все настройки вступили в силу.
Проверка состояния драйверов графической карты
Для корректной работы выхода из спящего режима на Ubuntu важно, чтобы драйверы графической карты были актуальными. Для проверки используйте команду lspci | grep VGA для отображения информации о графической карте. После этого можно проверить, какой драйвер используется для видеокарты.
Для карт NVIDIA используйте команду nvidia-smi для проверки состояния драйвера. Убедитесь, что он правильно загружен и не имеет ошибок. Для карт AMD можно использовать aticonfig —odgc —odgt для диагностики.
Если драйверы не установлены или система использует открытые драйверы, можно установить проприетарные драйверы через Software & Updates → Additional Drivers. Здесь будет предложено выбрать наиболее подходящий драйвер для вашей графической карты.
Для Intel-графики Ubuntu обычно использует открытые драйверы, но для некоторых моделей можно установить обновления через sudo apt update && sudo apt upgrade.
Если после установки драйверов система продолжает иметь проблемы с выходом из спящего режима, попробуйте перезагрузить драйверы с помощью команды sudo modprobe -r
Наконец, для тестирования работы драйверов и графики после изменений используйте команду dmesg | grep -i drm, чтобы проверить, не появляются ли ошибки при загрузке графической подсистемы.
Обновление ядра и системных пакетов

Некорректное поведение выхода из спящего режима часто связано с устаревшими ядром и пакетами системы. Для проверки текущей версии ядра выполните команду uname -r. Сравните её с последней доступной стабильной версией на сайте kernel.ubuntu.com.
Рекомендуется выполнять обновление в следующем порядке:
- Обновление списка пакетов: sudo apt update.
- Установка доступных обновлений: sudo apt upgrade.
- Установка новых версий ядра, если доступны: sudo apt install linux-generic.
- Очистка старых пакетов ядра: sudo apt autoremove —purge.
После обновления рекомендуется перезагрузить систему, чтобы новые модули ядра и драйверы графики были загружены корректно. Проверить успешность обновления ядра можно снова командой uname -r.
Для автоматического отслеживания критических обновлений ядра используйте пакет unattended-upgrades. Его настройка производится через файл /etc/apt/apt.conf.d/50unattended-upgrades, где можно включить строки, отвечающие за обновление linux-image и linux-headers.
Если после обновления системы и ядра проблема с пробуждением сохраняется, стоит проверить наличие конфликтующих модулей через lsmod и отключить их временно для диагностики.
Диагностика проблем с suspend и resume

Для выявления причин некорректного выхода из спящего режима в Ubuntu необходимо проанализировать логи системы. Используйте команду journalctl -b -1, чтобы просмотреть сообщения предыдущей загрузки, включая события suspend и resume. Обратите внимание на строки с ACPI, PM и error.
Если система зависает при пробуждении, проверьте список активных драйверов USB и PCI через lsusb и lspci -v. Конфликтующие модули можно временно отключить с помощью sudo modprobe -r
Для постоянного логирования событий suspend/resume рекомендуется включить PM_DEBUG через echo «module pm_trace +p» | sudo tee /sys/kernel/debug/dynamic_debug/control. Это позволит отслеживать порядок загрузки модулей и выявлять драйверы, блокирующие пробуждение.
В случае выявления проблемного модуля можно добавить его в файл /etc/pm/config.d/blacklist, чтобы исключить из процессов suspend и resume, после чего протестировать работу системы повторно.
Использование журналов системы для поиска ошибок
Для анализа проблем с выходом из спящего режима в Ubuntu применяются системные журналы. Основной инструмент – journalctl. Команда journalctl -b показывает логи текущей сессии, а journalctl -b -1 – предыдущей, включая события suspend и resume.
Для анализа драйверов графики и USB используйте фильтры: journalctl -k | grep -i drm и journalctl -k | grep -i usb. Это позволяет выявить модули, которые блокируют корректное пробуждение.
Дополнительно полезно включить детальное логирование suspend/resume через echo «module pm_trace +p» | sudo tee /sys/kernel/debug/dynamic_debug/control. После этого в логах будут отображаться все действия модулей ядра при входе и выходе из сна, что облегчает поиск проблемных компонентов.
Для долговременного мониторинга рекомендуется сохранять журнал в файл: journalctl -b -1 > ~/suspend_resume.log. Это позволит анализировать последовательность событий и передавать лог для более глубокой диагностики при необходимости.
Применение команд для ручного выхода из спящего режима
Для тестирования и восстановления работы Ubuntu при проблемах с автоматическим пробуждением можно использовать команды управления питанием в терминале. Основные команды:
- systemctl suspend – переводит систему в спящий режим.
- systemctl hibernate – переводит систему в гибернацию.
- systemctl hybrid-sleep – комбинация гибернации и спящего режима.
- systemctl resume – инициирует ручное пробуждение, если поддерживается ядром и драйверами.
Для диагностики также можно использовать команды работы с устройствами пробуждения:
- echo «X» | sudo tee /proc/acpi/wakeup – активирует или деактивирует устройство X для пробуждения.
- lsusb и xinput – проверка состояния USB-клавиатур, мышей и других периферийных устройств.
Рекомендуется тестировать каждое устройство отдельно, чтобы определить, какое из них не вызывает пробуждение. После внесения изменений перезагрузка системы позволяет убедиться в правильной работе конфигурации.
Если ручное пробуждение работает, а автоматическое нет, стоит проверить настройки /etc/systemd/logind.conf и параметры ACPI в BIOS/UEFI, а также активность драйверов графики и USB.
Вопрос-ответ:
Почему мой ноутбук с Ubuntu не выходит из спящего режима при нажатии клавиш или движении мыши?
Чаще всего это связано с отключенными возможностями пробуждения для USB-устройств. Проверьте статус устройств через команду cat /proc/acpi/wakeup и убедитесь, что клавиатура и мышь имеют статус enabled. При необходимости активируйте их с помощью echo «X» | sudo tee /proc/acpi/wakeup, где X — идентификатор устройства.
Какие настройки нужно изменить, чтобы ноутбук не засыпал при закрытии крышки?
Откройте файл /etc/systemd/logind.conf и измените параметр HandleLidSwitch на ignore. Для устройств на батарее и от сети можно использовать HandleLidSwitchExternalPower и HandleLidSwitchDocked. После изменения перезапустите сервис: sudo systemctl restart systemd-logind.
Как проверить, влияет ли драйвер графической карты на проблемы с выходом из сна?
Используйте команду lspci | grep VGA для определения модели видеокарты, а затем проверьте состояние драйвера. Для NVIDIA примените nvidia-smi, для AMD — aticonfig —odgc —odgt. Если драйвер отсутствует или конфликтует, установите рекомендуемый через Software & Updates → Additional Drivers. После этого протестируйте спящий режим.
Можно ли диагностировать ошибки выхода из спящего режима через системные журналы?
Да. Используйте journalctl -b -1 для просмотра логов предыдущей сессии. Фильтруйте сообщения по ключевым словам ACPI, PM и error с помощью journalctl -p err -b. Для диагностики драйверов графики и USB примените фильтры journalctl -k | grep -i drm и journalctl -k | grep -i usb.
