2

I've found how to hibernate on power button press with logind:

HandlePowerKey=hibernate

in /etc/systemd/logind.conf

But can I make it somehow execute something like

# pm-hibernate || shutdown -h

?

1 Answer 1

3
  • No, you can't make that setup using HandlePowerKey entry for systemd. It is not a script hook, just a predefined options.

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

    Controls whether logind shall handle the system power and sleep keys and the lid switch to trigger actions such as system power-off or suspend. Can be one of "ignore", "poweroff", "reboot", "halt", "kexec", "suspend", "hibernate", "hybrid-sleep", and "lock". If "ignore", logind will never handle these keys. If "lock", all running sessions will be screen-locked; otherwise, the specified action will be taken in the respective event. Only input devices with the "power-switch" udev tag will be watched for key/lid switch events. HandlePowerKey= defaults to "poweroff". HandleSuspendKey= and HandleLidSwitch= default to "suspend". HandleLidSwitchDocked= defaults to "ignore". HandleHibernateKey= defaults to "hibernate". If the system is inserted in a docking station, or if more than one display is connected, the action specified by HandleLidSwitchDocked= occurs; otherwise the HandleLidSwitch= action occurs.

    Reference: man logind.conf

  • One way that may work, set it to ignore then setup a poweroff key hook through /etc/acpi/events/ as explained in What code is executed when headphones are disconnected? ( It's your question, right :) )

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .