V Ubuntu 12.04 LTS bych chtěl spouštět skripty po obnovení z režimu spánku a po odemknutí plochy. Tyto musí běžet jako můj uživatel a s přístupem k mému $DISPLAY
.
Zejména bych chtěl
- restartujte
nm-applet
obejít chybu 985028 - zobrazit vlastní oznámení pomocí
notify-send
- možná i další věci, až to zprovozním
Když obnovím, skripty v /etc/pm/sleep.d/
jsou spuštěny, ale běží jako root, bez znalosti mé obrazovky a uživatelského jména. Mohlo by to fungovat, pokud napevno zakóduji své uživatelské jméno a export
výchozí DISPLAY :0
v těchto skriptech, ale to mi přijde jako velmi ošklivý hack.
Skripty v ~/.config/autostart/xyz.desktop
spustit po přihlášení, ale nespustí se po pouhém odemknutí obrazovky po obnovení.
Existuje způsob, jak spustit skripty po odemknutí obrazovky po obnovení?
Nejlepší odpověď
Vypadá to, že stejně musíte napevno zakódovat uživatelské jméno v předchozí odpovědi, takže pokud někdo hledá rychlou opravu, zde je jednoduchý skript pro /etc/pm/sleep.d:
#!/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