如果电源按钮按下失败,如何尝试hibernate和关机?

我已经找到了如何使用logind按下电源按钮进行hibernate:

HandlePowerKey=hibernate 

/etc/systemd/logind.conf

但我可以以某种方式执行类似的操作

 # pm-hibernate || shutdown -h 

  • 不,您无法使用HandlePowerKey条目进行设置。 它不是脚本钩子,只是预定义的选项。

    HandlePowerKey=, HandleSuspendKey=, HandleHibernateKey=, HandleLidSwitch=, HandleLidSwitchDocked=

    控制logind是否应处理系统电源和睡眠键以及盖子开关是否触发系统电源关闭或暂停等操作。 可以是“忽略”,“断电”,“重启”,“暂停”,“kexec”,“暂停”,“hibernate”,“混合睡眠”和“锁定”之一。 如果“忽略”,logind永远不会处理这些键。 如果“锁定”,所有正在运行的会话将被屏幕锁定; 否则,将在相应的事件中采取指定的操作。 只有具有“电源开关”udev标签的输入设备才会被监视键/盖开关事件。 HandlePowerKey =默认为“poweroff”。 HandleSuspendKey =和HandleLidSwitch =默认为“暂停”。 HandleLidSwitchDocked =默认为“忽略”。 HandleHibernateKey =默认为“hibernate”。 如果系统插入扩展坞,或者连接了多个显示器,则会发生HandleLidSwitchDocked =指定的操作; 否则HandleLidSwitch =动作发生。

    参考: man logind.conf

  • 一种可行的方法,将其设置为ignore然后通过/etc/acpi/events/ 设置电源关键挂钩,如耳机断开时执行什么代码中所述? (这是你的问题,对吧:))