Answers:
简而言之,您通常应该更喜欢发行版集成的挂起模式。对于系统发行的发行版,通常是systemctl suspend。
例如,Arch Linux维基说:
systemd提供了用于挂起,休眠和混合挂起的本机命令,有关详细信息,请参见“使用systemd进行电源管理”。这是Arch Linux中使用的默认接口。
使用systemd时,
pm-utils不再使用其钩子,而是使用systemd-suspend。
您要坚持使用发行版的原因是,它们关心暂停/恢复的软件包将附带与pm-utils(/usr/lib/pm-utils/sleep.d)或systemd(/usr/lib/systemd/system-sleep/)集成的钩子脚本,因此您应该使用相同的接口才能拥有所有适当的接口。钩子按预期运行。
此外,发行版通常会将适当的挂起/休眠方法挂接到ACPI,以用于硬件事件,桌面环境(用于允许挂起/休眠的关机按钮)以及屏幕保护程序/锁定等。
无论pm-suspend与systemd-suspend通常使用相同的接口,真正把计算机进入睡眠状态。
两者都默认使用内核的暂挂驱动程序(通过写入/sys/power/state),并且都支持外部暂挂驱动程序(如uswsusp,有关如何将其挂接到systemd的详细信息,请参见此处)。
它们都支持在挂起或恢复过程中调用的配置文件和挂钩脚本,主要区别在于文件的位置(挂钩的API非常相似):
pm-utils从文件中读取其配置,/etc/pm/config.d并从/etc/pm/sleep.d和/usr/lib/pm-utils/sleep.d目录执行挂钩。systemd-suspend从/etc/systemd/sleep.conf文件(或目录中的sleep.conf.d文件)读取其配置,并从执行钩子/usr/lib/systemd/system-sleep/。因此,从这个角度来看,两者看起来非常相似...
但是systemd进一步支持挂起/休眠/恢复,因为:
systemctl suspend当然仍然可以选择运行。)通常通过D-Bus而不是通过运行命令来触发挂起在桌面环境中很有用。因此,即使两者pm-utils并systemd-suspend实现实际在大约相同的方式暂停系统,与系统的其他部件的整合使得它如此它的问题,其中一个叫...而上分布航运systemd,则systemctl suspend通常是合适的人打电话。
pm-utils默认情况下未安装,并且似乎依赖systemctl,但是其中/usr/lib/pm-utils/sleep.d/包含东西并且/usr/lib/systemd/system-sleep/不存在。但是,我的确看到了/lib/systemd/system-sleep/以及下的更多内容/snap/,所有这些文件中都有一个或两个文件。