Il mar, 2004-04-20 alle 22:58, Andrea "ap" Paolini ha scritto:
> O, rotto per rotto, approssimare quello che ti serve con uno script tipo:
>
> #!/bin/sh
> while true ; do
> ...faccio della roba...
> sleep 10
> done
>
> da lanciare con qualcosa come
>
> $ ( ./iltuoscript & )
Allora ho provato a rompere per rompere... Giusto per vedere se funziona
in attesa di soluzioni migliori...
Allora lo script modificato con i tuoi hints funziona... se lo lancio io
a manona all'avvio da una console in X...
Altrimenti se l'avvio da tty1 o tramite /etc/rc.local mi non riesce a
connettersi al display:
Xlib: connection to "unix:0.0" refused by server
Xlib: no protocol specified
Error: can't open display: unix:0
Tuttavia funziona visto che mi suona il bel cucu.wav
Ecco lo script:
#!/bin/sh
export DISPLAY="unix:0.0"
# Prima soglia di allarme
MIN=200
# Soglia critica che attiva lo spegnimento
MINCRITIC=50
while true ; do
CHARGING=`cat /proc/acpi/battery/BAT1/state | grep "charging state" |
cut -b 26-`
REMAINING=`cat /proc/acpi/battery/BAT1/state | grep remaining | sed -e
's/[^0-9]//g'`
#echo $REMAINING
#echo $CHARGING
STATUS=`echo "$REMAINING < $MIN" | bc -q`
if [[ $1 == "--force" ]] ; then STATUS=1 ; CHARGING="discharging" ; fi
if [[ $STATUS == 1 && $CHARGING == "discharging" ]]
then DISPLAY="unix:0" /usr/X11R6/bin/xmessage -center -default okey
"stai finendo la batteria hai ancora $REMAINING mAh" &
/usr/bin/wavplay
/home/eagleone/Documents/Multimedia/Suoni/cucu.wav
fi
CRITIC=`echo "$REMAINING < $MINCRITIC" | bc -q`
if [[ $CRITIC == 1 && $CHARGING == "discharging" ]]
then DISPLAY="unix:0" /usr/X11R6/bin/xmessage -center -default okey
"batteria finita hai ancora $REMAINING mAh e 2 minuti prima che il
sistema si spenga" &
/usr/bin/wavplay
/home/eagleone/Documents/Multimedia/Suoni/cucu.wav
/sbin/shutdown -h 2 &
fi
sleep 60
done
|