Подробный гайд: отключение спящего режима в Astra Linux

Как отключить спящий режим в Astra Linux: настройка systemd, Fly, DPMS и logind для полного запрета сна и гибернации.

2026.04.27                  


Подробный гайд: отключение спящего режима в Astra LinuxПодробный гайд: отключение спящего режима в Astra Linux Если Astra Linux уходит в сон независимо от настроек, проблема обычно связана с тем, что система имеет несколько уровней управления энергопотреблением: графическая среда Fly, systemd, ACPI и настройки X-сервера. Для полного отключения необходимо настроить все компоненты.


Способ 1: Маскировка systemd-целей (самый надёжный)

Этот метод предотвращает запуск сервисов сна на уровне инициализации:

# Отключение целей сна и гибернации
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

# Проверка статуса
systemctl status sleep.target suspend.target hibernate.target hybrid-sleep.target

Ожидаемый результат: все цели должны быть в статусе masked и inactive (dead).

Для отмены изменений:

sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target

Способ 2: Настройка /etc/systemd/logind.conf

Отредактируйте конфигурационный файл systemd-logind:

sudo nano /etc/systemd/logind.conf

Добавьте или раскомментируйте следующие параметры в секции [Login]:

[Login]
HandlePowerKey=ignore
HandleSuspendKey=ignore
HandleHibernateKey=ignore
HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore
HandleLidSwitchDocked=ignore
IdleAction=ignore
IdleActionSec=0

Примените изменения:

sudo systemctl restart systemd-logind

Важно:

  • Если в системе запущен графический менеджер сессий (Fly), он может перехватывать управление питанием через inhibitor-блокировки. В этом случае настройки logind.conf могут игнорироваться.

Способ 3: Настройка графической среды Fly

Вариант А: Через fly-admin-policykit (GUI)

1. Запустите утилиту:

   fly-admin-policykit-1

2. Перейдите по пути:

   org.freedesktop → upower → Suspend/Hibernate → Активная консоль → Запретить

Вариант Б: Через конфигурационные файлы

Для текущего пользователя:

nano ~/.fly/theme/current.themerc

Добавьте:

StandbyCmd="fly-qmsg Запрещено"
SuspendCmd="fly-qmsg Запрещено"
ScreenSaverDelay=0
LockerDpmsOffTimeout=0

Для всех новых пользователей:

sudo nano /usr/share/fly-wm/default.themerc

Добавьте те же параметры.


Способ 4: Отключение DPMS и скринсейвера (графический уровень)

1. Отключение DPMS в X-сервере

Добавьте в /etc/X11/fly-dm/Xsetup строку:

/usr/bin/xset -dpms

2. Настройка монитора

Создайте файл /etc/X11/xorg.conf.d/10-monitor.conf:

Section "Monitor"
    Identifier "LVDS0"
    Option "DPMS" "false"
EndSection

Section "ServerLayout"
    Identifier "ServerLayout0"
    Option "StandbyTime" "0"
    Option "SuspendTime" "0"
    Option "OffTime" "0"
    Option "BlankTime" "0"
EndSection

3. Отключение скринсейвера для пользователя

xset s off
xset s noblank

Для постоянного применения добавьте в ~/.xsessionrc:

echo -e "xset s off\nxset -dpms" >> ~/.xsessionrc

Способ 5: Настройка powermanagementprofilesrc

Файл ~/.config/powermanagementprofilesrc может содержать тайм-ауты энергосбережения:

# Удаление секции управления монитором
sed -i '/\[AC\]\[DPMSControl\]/,/^[^\[]/s/.*//' ~/.config/powermanagementprofilesrc

Или отредактируйте вручную, удалив параметры idleTime.


Применение изменений

После всех настроек выполните:

# Перезапуск графической сессии
sudo systemctl restart fly-dm

# Или полная перезагрузка
sudo reboot

Проверка результата

# 1. Проверка systemd-целей
systemctl list-unit-files | grep -E 'sleep|suspend|hibernate'

# 2. Проверка DPMS
xset q | grep -i dpms
# Должно быть: "DPMS is Disabled"

# 3. Проверка logind
loginctl show-session $(loginctl | grep $(whoami) | awk '{print $1}') -p IdleAction

# 4. Тест: закрыть крышку ноутбука или нажать кнопку питания — система не должна засыпать

Сводная таблица компонентов

Компонент Примечание
systemctl mask Наиболее надёжный способ, работает на уровне инициализации
logind.conf Может игнорироваться, если есть inhibitor-блокировки от Fly
fly-admin-policykit Требует прав администратора, применяется немедленно
DPMS/xset Влияет только на графическую сессию текущего пользователя
powermanagementprofilesrc Настройки могут перезаписываться при обновлении Fly
ACPI-обработчики Отключение может повлиять на реакцию кнопки питания

Дополнительные утилиты для диагностики

# Установка powertop для анализа энергопотребления
sudo apt install powertop
sudo powertop --calibrate
sudo powertop

# Установка TLP для продвинутого управления (если доступно в репозитории)
sudo apt install tlp tlp-rdw
sudo tlp start

# Просмотр логов systemd-logind
journalctl -u systemd-logind -f

Важные замечания

  1. Приоритет настроек: systemd-маскировка (mask) имеет наивысший приоритет и перекрывает настройки Fly и logind.conf.

  2. Inhibitor-блокировки: Графические среды (включая Fly) могут использовать low-level inhibitor locks, которые отключают обработку событий logind. В этом случае настройки в logind.conf не будут работать, пока не отключена интеграция в Fly.

  3. Обновления системы: После обновления Astra Linux или Fly настройки в ~/.fly/ и /usr/share/fly-wm/ могут быть сброшены. Рекомендуется дублировать критичные настройки через systemd.

  4. Документация: В некоторых версиях Astra Linux расширенная документация доступна только при подключённой услуге «Техническая поддержка» через Личный кабинет.


Рекомендация: Для максимальной надёжности используйте комбинацию методов:

  1. systemctl mask (базовый уровень)
  2. Настройка logind.conf (резервный уровень)
  3. Отключение в Fly (графический уровень)
  4. Отключение DPMS (аппаратный уровень монитора)

Если проблема сохраняется после всех настроек, проверьте:

  • Наличие ACPI-событий: acpi_listen
  • Логи ядра: dmesg | grep -i acpi
  • Активные inhibitor-блокировки: systemd-inhibit --list