In Ubuntu 12.04 LTS, vorrei eseguire gli script dopo la ripresa dalla sospensione e dopo aver sbloccato il desktop. Questi devono essere eseguiti come mio utente e con accesso al mio $DISPLAY
.
In particolare, vorrei
- riavvia
nm-applet
per aggirare il bug 985028 - mostra una notifica personalizzata utilizzando
notify-send
- forse altre cose quando le farò funzionare
Quando riprendo, script in /etc/pm/sleep.d/
vengono eseguiti, ma vengono eseguiti come root, senza la conoscenza del mio schermo e del mio nome utente. Potrebbe funzionare se imposti il mio nome utente e export
il DISPLAY :0
predefinito in questi script, ma sembra un brutto trucco.
Script in ~/.config/autostart/xyz.desktop
eseguiti dopo l'accesso, ma non vengono eseguiti dopo aver semplicemente sbloccato lo schermo dopo il ripristino.
C'è un modo per eseguire script dopo aver sbloccato lo schermo dopo un ripristino?
Migliore risposta
Sembra che tu debba comunque codificare il nome utente nella risposta precedente, quindi ecco un semplice script per in /etc/pm/sleep.d se qualcuno sta cercando una soluzione rapida:
#!/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