А что вообще такое сон в Linux? Какой он бывает? #
В Linux существует несколько способов временно приостановить работу компьютера для экономии энергии и сохранения текущего состояния системы. Два основных и наиболее распространённых — это режим сна (Suspend to RAM) и режим гибернации (Hibernate, или Suspend to Disk). Рассмотрим их подробнее.
Режим сна (Suspend to RAM) #
Режим сна (Suspend) — это состояние, при котором компьютер останавливает большинство компонентов и периферийных устройств, переводя их в минимальный режим энергопотребления. Единственным важным компонентом, который остаётся запитанным, является оперативная память (RAM). Это необходимо, чтобы все данные, программы и текущее состояние системы не были потеряны.
Когда компьютер находится в режиме сна:
-
Процессор приостанавливается.
-
Жёсткие диски и SSD отключаются.
-
Видеокарта и другие периферийные устройства переходят в энергосберегающий режим.
-
Оперативная память остаётся активной и требует постоянного питания.
Выход из режима сна происходит практически мгновенно: достаточно нажать любую клавишу или кнопку питания, и система возвращается к тому состоянию, в котором была оставлена. Режим сна удобен, если планируется быстро вернуться к работе через относительно короткое время (до нескольких часов).
Режим гибернации (Hibernate, Suspend to Disk) #
Режим гибернации отличается от режима сна тем, что при его использовании всё текущее состояние системы (данные оперативной памяти, приложения и т. д.) записывается на жёсткий диск или SSD, после чего компьютер полностью выключается.
Таким образом, в режиме гибернации:
-
Компьютер полностью выключен и не потребляет энергию.
-
Состояние памяти сохраняется на диск в специальный раздел (swap-раздел или специальный файл).
-
При включении происходит полное восстановление состояния памяти и запуск приложений с того момента, на котором вы остановились.
Режим гибернации подходит для длительного отсутствия, например, если вы хотите сохранить состояние работы и выключить компьютер на ночь, не закрывая приложения.
А что лучше? #
Все, конечно же, зависит от вашей задачи. Но ниже представлена сравнительная таблица с преимуществами и недостатками двух режимов:
Преимущества | Недостатки | |
---|---|---|
Режим сна |
|
|
Режим гибернации |
|
|
Настройка экрана входа в систему #
Обращаем внимание!
На
Repka Pi 4
не работает режим гибернации.
Экран входа в систему (greeter) в GDM3 — это отдельная сессия, работающая под пользователем gdm
. У него свои настройки энергосбережения, которые не зависят от параметров сна и гашения экрана вашей пользовательской сессии.
Чтобы изменить эти параметры, нужно править системный файл конфигурации /etc/gdm3/greeter.dconf-defaults
-
Для решения данной задачи воспользуемся терминалом, в котором откроем с помощью редактора vim данный конфигурационный файл (обращаю внимание, что для редактирования данного файла необходимы права суперпользователя):
sudo vim /etc/gdm3/greeter.dconf-defaults
-
Внутри данного файла вы найдете следующее:
# Настройки питания для экрана входа [org/gnome/settings-daemon/plugins/power] # Таймаут (сек) до автоматического сна при питании от сети sleep-inactive-ac-timeout=900 # Действие: 'suspend', 'hibernate', 'nothing' sleep-inactive-ac-type='suspend' # Таймаут (сек) до сна при питании от батареи sleep-inactive-battery-timeout=600 sleep-inactive-battery-type='suspend' [org/gnome/desktop/session] # Таймаут (сек) до гашения экрана idle-delay=uint32 300
Ниже представим те же параметры с пояснениями:
-
sleep-inactive-ac-timeout
— время простоя на сети до автоматического сна. -
sleep-inactive-ac-type
— действие по истечении таймаута (обычноsuspend
илиnothing
). -
sleep-inactive-battery-timeout
— время простоя на батарее до сна. -
sleep-inactive-battery-type
— действие при питании от батареи. -
idle-delay
— задержка перед гашением экрана (0 — не гасить).
-
-
После сохранения файла необходимо перезагрузиться, чтобы данные изменения вступили в силу!
Настройка пользовательской сессии #
Обращаем внимание!
На
Repka Pi 4
не работает режим гибернации.
После входа в систему вы работаете в своей пользовательской сессии GNOME.
Параметры энергосбережения в ней не зависят от настроек экрана входа (GDM3), и хранятся в пользовательской базе dconf
.
Есть два варианта настройки: через интерфейс или через командную строку:
Настройка через командную строку #
Гашение экрана настраивается с помощью ввода команды в терминале:
gsettings set org.gnome.desktop.session idle-delay 300
Мы указываем, что экран погаснет через 300 секунд.
По умолчанию, после гашения экрана Repka Pi будет заблокирована и придется заново авторизоваться, но и это можно настроить с помощью команды в терминале:
gsettings set org.gnome.desktop.screensaver lock-enabled true
Доступные параметры: false
- если мы не хотим после гашения включать экран блокировки, true
- если хотим.
И знакомые нам настройки по действию при питании от сети:
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 900
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'suspend'
900
- время в секундах до выполнения одного из действий, в нашем случае ‘suspend'
(но также доступны 'suspend', 'hibernate' и 'nothing').
Те же самые настройки и для питания от аккумулятора:
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout 600
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type 'suspend'
Настройка через интерфейс #
Те же самые настройки доступны и через интерфейс.
Для настройки блокировки экрана перейдите в следующий раздел: Настройки
—> Конфиденциальность
—> Экран
Для настройки опции энергосбережений перейдите в раздел: Настройки
—> Конфиденциальность
—> Питание
—> Опции энергосбережения