Verifique com xev
qual evento é emitido ao pressionar o botão desligar. No meu caso foi um XF86PowerOff
.
Eu simplesmente adicionei uma tecla de atalho global ao meu gerenciador de janelas (AwesomeWM), que executa um pequeno script bash:
#!/usr/bin/bash
zenity --question --text "Power off?" --default-cancel && poweroff
Depois disso, meu sistema está me perguntando o que fazer quando estou pressionando o botão desligar.