Ciao On 17/01/2012 07:35, bodrato@mail.dm.unipi.it wrote:
Ciao! Il Mar, 17 Gennaio 2012 12:48 am, giuliano su Tiscali ha scritto:- system (export DISPLAY=...") e - system ("xmessage....") la variabile viene persa subito dopo la prima chiamata e quindi la seconda non la trova settata;Invece che impostare la variabile, usa un parametro. Tutti i programmi decenti che usano X accettano il parametro "-display"... Mi dirai che dovrebbero documentarlo nella pagina "man"... ma è talmente ovvio che lo facciano, che nessuno lo scrive :-) Comunque ti consiglio system ("xmessage -display \":0.0\" ...."). Poi fai attenzione a "xhost", normalmente qualunque altro utente (root ad esempio) non è autorizzato a scrivere sul tuo display.
Uno dei problemi e' proprio questo, l'autenticazione per Xorg. Mi sono fatto uno script in bash analogo al tuo che mi segnala il livello di carica bassa e critica (se hai bisogno condivido) e per xmessage (in verita uso zenity ma il concetto non cambia) uso questo trucco: determino l'utente che fa girare Xorg e copio il file /home/<user>/.Xauthority nella home dell'utente che esegue lo script (nel mio caso root) oltre ovviamente a settare la variabile DISPLAY.
In bash: XUSER=`ps -C Xorg -o ruser=""` if [ -n $XUSER ] ; then export DISPLAY=$DISPLAY cp /home/$XUSER/.Xauthority ~ zenity --warning --text="$MSG" --title="Low Battery Warn" & fiIl metodo migliore se usi un DE che sfrutta libnotify e' usare notify-send, presente nel pacchetto libnotify-bin.
Poi ad esempio KDE notifica messaggi (suppongo broadcast) sia di wall che shutdown (suppongo sia il forward dei messaggi che arrivano al terminale a cui e' attaccato Xorg).
fede
Ciau, m
-- Caselle da 1GB, trasmetti allegati fino a 3GB e in piu' IMAP, POP3 e SMTP autenticato? GRATIS solo con Email.it http://www.email.it/f Sponsor: Centinaia di Idee Regalo a partire da 1 euro! Su MisterCupido.com alta qualita' a prezzi imbattibili... e spedizioni in 2/3 giorni! Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=11452&d=20-1