Системы, использующие systemd
, читают и выполняют сценарии в /etc/pm/sleep.d/
?
Я начинаю заключать, что ответ systemd
игнорирует эти сценарии. Если это правда, что является заменой?
Обновление: man systemd-sleep
утверждает, что сценарии могут быть добавлены в /lib/systemd/system-sleep/
. Для меня деталей было недостаточно, но я попытался изменить пример Arch wiki и создал /lib/systemd/system-sleep/root-resume.service
.
[Unit]
Description=Local system resume actions
After=suspend.target
[Service]
Type=simple
ExecStart=/bin/systemctl restart network-manager.service
[Install]
WantedBy=suspend.target
Мое намерение состоит в том, чтобы после возобновления работы перезагрузить сетевой менеджер, потому что иногда он не работает.
Кажется, это не то, что я хочу.
Сценарии в /etc/pm/config.d|power.d|sleep.d
проигнорированы под systemd. Вместо этого systemd "единица" (сервис) должна быть создана и включена.
Для перезапуска сетей после того, как система возобновляется от сна, я создал файл /lib/systemd/system/root-resume.service
:
[Unit]
Description=Local system resume actions
After=suspend.target
[Service]
Type=oneshot
ExecStart=/bin/systemctl restart network-manager.service
[Install]
WantedBy=suspend.target
Затем я активировал сервис sudo systemctl enable root-resume.service
. Включение сервиса создает символьную ссылку для файла в /etc/systemd/system/suspend.target.wants/
Вопреки man systemd-sleep
проигнорированы, сервисные файлы, помещенные в /lib/systemd/system-sleep/
.
Нет, ни те, которые в /usr/lib/pm-utils/sleep.d
. Но это запускает все скрипты (не сервисные файлы) в /lib/systemd/system-sleep/
с исполняемым набором битов.
Вот пример один для вызова пополудни-powersave, изменен от /usr/lib/pm-utils/sleep.d/00powersave
.
#!/bin/sh
# do not run pm-powersave on ARM during suspend; the 1.5 seconds that it takes
# to run it don't nearly compensate the potentially slightly slower suspend
# operation in low power mode
ARCH=`uname -m`
case $1 in
pre) [ "$ARCH" != "${ARCH#arm}" ] || pm-powersave false ;;
post) pm-powersave ;;
esac
exit 0
1$ является "сообщением" на резюме, "пред" иначе. 2$ в обоих случаях содержат, или "приостановите", "будьте в спящем режиме", или "гибридный сон".