Executa um script sempre que o Linux Mint é reiniciado da suspensão

2

Estou executando o Linux Mint. Eu tenho um script que é executado sempre que eu faço login que remapeia meus botões do mouse. No entanto, quando o computador é suspenso, os botões do mouse são revertidos para o mapeamento padrão.

Gostaria que meu script fosse executado novamente sempre que o computador fosse suspenso. Como posso fazer isso? Atualmente, estou apenas chamando o script do painel de controle "Aplicativos de inicialização".

Eu já tentei colocar algumas cópias do meu script em subdiretórios em /etc/pm , mas isso não funcionou.

EDIT: Na verdade, quando meu computador sai da suspensão, às vezes o mapeamento do mouse não foi redefinido. Mas quando eu desligo os monitores, então de volta (usando seus botões de energia) o mapeamento do mouse sempre foi reiniciado. Como posso evitar isso? (Ou onde posso colocar um script para que ele seja executado quando os monitores ligarem de volta?)

    
por Jeff 10.08.2013 / 21:39

1 resposta

3

É 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/bash

case "$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).

    
por 10.08.2013 / 21:57