, последнее обновление:
Запуск юнитов при выходе из сна или гибернации
На моем ноутбуке есть RGB подсветка у клавиатуры, и, к сожалению, контроллер не запоминает выбранный режим перед потерей питания. Поэтому при каждом выходе из сна мне нужно запускать некий юнит, который установит нужный режим работы подсветки.
tl;dr
Пишем в /etc/systemd/system/UNIT_NAME.service
(не забудьте правильно настроить раздел Service
!):
[Unit]
Description=Sets keyboard RGB backlit.
After=sleep.target hibernate.target
[Service]
Type=oneshot
ExecStart=/usr/sbin/aucc -c white -b 4
[Install]
WantedBy=multi-user.target sleep.target hibernate.target
Даем команды:
sudo systemctl daemon-reload
sudo systemctl enable UNIT_NAME
Чуть подробностей
Для того, чтобы включенный юнит запускался после сна или гибернации, когда вы открываете обратно крышку ноутбука, или же грузите обратно ваш системник, у юнита должны быть прописаны:
After=sleep.target hibernate.target
- указываем, что юнит запускается после выполнения таргетовsleep
иhibernate
. Эти таргеты последним действием имеют, собственно, уход железа в сон или гибернацию.WantedBy=multi-user.target sleep.target hibernate.target
в блокеInstall
- указываем, что включаться этот юнит должен, во-первых, при запуске “на холодную” (multi-user.target
), а также в таргете перехода в/выхода из сна (sleep.target
) и гибернации (hibernate.target
).