Abstract
Сообщение «systemd system is about to suspend» означает, что система готовится перейти в режим низкого энергопотребления. Разбираемся, как это предотвратить — от маскировки целей systemd до отладки ACPI-событий.
Маскировка целей сна и гибернации
Замаскируем цели systemd, отвечающие за спящий режим и гибернацию:
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.targetЭто создаёт символические ссылки на /dev/null — цели становятся недоступны. Проверим статус:
sudo systemctl status sleep.target suspend.target hibernate.target hybrid-sleep.targetОтмена маскировки
Если понадобится снова включить спящий режим:
sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target
Настройка logind.conf
Отредактируем конфигурацию systemd-logind:
sudo nano /etc/systemd/logind.confДобавим или изменим строки:
[Login]
HandleLidSwitch=ignore
HandleLidSwitchDocked=ignore
IdleAction=ignoreПерезапустим службу:
sudo systemctl restart systemd-logindHandleLidSwitch
ignoreотключает реакцию на закрытие крышки ноутбука. Если ноутбук используется как сервер — это правильно. Если как рабочая станция — выберитеsuspendилиlock.
Проверка скриптов сна
Пользовательские скрипты или хуки в /usr/lib/systemd/system-sleep/ могут вызывать приостановку. Проверим содержимое:
ls /usr/lib/systemd/system-sleep/Если найдёте скрипты — проверьте их содержимое и удалите или переименуйте ненужные.
Настройки управления питанием в DE
Окружения рабочего стола (GNOME, KDE) могут иметь собственные настройки питания, которые принуждают систему к приостановке.
DE переопределяет systemd
GNOME и KDE имеют собственные power managers, которые могут игнорировать настройки
logind.conf. Проверьте параметры питания в настройках окружения.
Отладка ACPI-событий
ACPI-события (закрытие крышки, кнопка питания) могут вызывать приостановку. Проверим логи:
journalctl | grep ACPIОпределённые ACPI-действия можно отключить через /etc/systemd/logind.conf (см. раздел выше).
Просмотр системных логов
Для определения причины приостановки изучим логи текущей загрузки:
journalctl -b | grep "suspend"
journalctl -b | grep "PrepareForSleep"Ищите закономерности
Ищите шаблоны — конкретные сервисы или события, инициирующие приостановку. Часто виновником оказывается таймер или power manager окружения.
Связанные статьи
- ssh-setup — настройка SSH-сервера (сервер не должен засыпать)