É possível que o motivo pelo qual seu script "não funcione" se deva a vários motivos:
- O script não é executável. Deve ser executável (execute
chmod +x
sobre ele). - O script está sendo executado como root quando o sistema é reinicializado (acho). Para executá-lo como seu usuário, tente algo como:
#!/bin/bashcase "$1" in
hibernate|suspend)
sudo -u USERNAME env DISPLAY=:0 zenity --info --text "do stuff on suspend" ;;
thaw|resume)
sudo -u USERNAME env DISPLAY=:0 zenity --info --text "do stuff on resume"
;;
esac
(roubado descaradamente de AskUbuntu ).
Obviamente, você pode substituir a chamada zenity
pela ação que você deseja executar ao retomar da suspensão. USERNAME
deve ser o usuário com o qual você está normalmente logado (se isso mudar muito, isso pode ficar complicado).