Systemd 是否读取 /etc/pm/.....?

Sea*_*ean 14 power-management systemd

系统是否使用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
Run Code Online (Sandbox Code Playgroud)

我的目的是在恢复后重新启动网络管理器,因为它偶尔不起作用。

这似乎不是我想要的。

Sea*_*ean 13

/etc/pm/config.d|power.d|sleep.d在 systemd 下会忽略in中的脚本。相反,必须创建和启用 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
Run Code Online (Sandbox Code Playgroud)

然后我用sudo systemctl enable root-resume.service. 启用该服务会为文件创建一个符号链接/etc/systemd/system/suspend.target.wants/

相反,man systemd-sleep放置在服务文件中/lib/systemd/system-sleep/被忽略。