Подробный гайд: отключение спящего режима в 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
Важные замечания
Приоритет настроек: systemd-маскировка (
mask) имеет наивысший приоритет и перекрывает настройки Fly и logind.conf.Inhibitor-блокировки: Графические среды (включая Fly) могут использовать low-level inhibitor locks, которые отключают обработку событий logind. В этом случае настройки в
logind.confне будут работать, пока не отключена интеграция в Fly.Обновления системы: После обновления Astra Linux или Fly настройки в
~/.fly/и/usr/share/fly-wm/могут быть сброшены. Рекомендуется дублировать критичные настройки через systemd.Документация: В некоторых версиях Astra Linux расширенная документация доступна только при подключённой услуге «Техническая поддержка» через Личный кабинет.
Рекомендация: Для максимальной надёжности используйте комбинацию методов:
systemctl mask(базовый уровень)- Настройка
logind.conf(резервный уровень) - Отключение в Fly (графический уровень)
- Отключение DPMS (аппаратный уровень монитора)
Если проблема сохраняется после всех настроек, проверьте:
- Наличие ACPI-событий:
acpi_listen - Логи ядра:
dmesg | grep -i acpi - Активные inhibitor-блокировки:
systemd-inhibit --list