Итак файл: /etc/systemd/sleep.conf
[Sleep]
AllowSuspend=yes
AllowHibernation=yes
AllowSuspendThenHibernate=yes
HibernateMode=platform shutdown
HibernateDelaySec=10min
В таком виде не работает.
Т.е. ноут как бы засыпает, потом якобы уходит в гибернацию, но на деле у меня (Thinkpad X1 Carbon G8
) жрёт 16% батарейки за сутки.
Если запустить вручную в терминале: systemctl suspend-then-hibernate
, то плюётся ошибкой:
Call to SuspendThenHibernate failed: Sleep verb 'suspend-then-hibernate' is not configured or configuration is not supported by kernel
Выяснил, что в параметр HibernateDelaySec
надо именно что вписывать integer, без постфиксов секунд, минут, и прочая.
Причём нигде в доках systemd
я про это не нашёл.
Гадство в том, что некоторые другие тайм-параметры, например в юнитах, например OnBootSec
- допускают префиксы.
Таким обазом, рабочий вариант такой:
[Sleep]
AllowSuspend=yes
AllowHibernation=yes
AllowSuspendThenHibernate=yes
HibernateMode=platform shutdown
HibernateDelaySec=600