En Ubuntu 12.04 LTS, me gustaría ejecutar scripts después de reanudar la suspensión y después de desbloquear mi escritorio. Estos deben ejecutarse como mi usuario y con acceso a mi $DISPLAY
.
En particular, me gustaría
- reiniciar
nm-applet
para evitar el error 985028 - mostrar una notificación personalizada usando
notify-send
- posiblemente otras cosas cuando haga que funcionen
Cuando reanudo, scripts en /etc/pm/sleep.d/
se ejecutan, pero se ejecutan como root, sin conocimiento de mi pantalla y nombre de usuario. Podría funcionar si codifico mi nombre de usuario y export
la DISPLAY :0
predeterminada en estos scripts, pero eso se siente como un truco muy feo.
Scripts en ~/.config/autostart/xyz.desktop
se ejecutan después de iniciar sesión, pero no se ejecutan después de simplemente desbloquear la pantalla después de reanudar.
¿Hay alguna forma de ejecutar secuencias de comandos después de desbloquear la pantalla después de un currículum?
Mejor respuesta
Parece que tiene que codificar el nombre de usuario en la respuesta anterior de todos modos, así que aquí hay una secuencia de comandos simple para /etc/pm/sleep.d si alguien está buscando una solución rápida:
#!/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