Jeg lavede dette quick'n dirty script:
Det køres i kron hvert minut, og det looper selv 5 gange over et sleep 
10, så det kører ca hvert 10. sekund. (Maskinen har ikke så meget at 
lave...)
Hvis der er noget i køen (lpstat)
   touch et flag.
   Hvis printeren er online (usbconfig)
     enable printeren
   ellers
     tænd den (sispmctl)
ellers
   Hvis flaget er ældre end 10 minutter, slet det og disable printeren
sov 10 sekunder og loop igen
Jeg vil gerne enable/disable printeren, så cups ikke skriver til 
printeren før den er klar. Men der er rettighedsproblemer for root at 
gøre det.
Det "koster" nok lige meget at enable printeren hele tiden, frem for at 
teste om den er enablet, og kun enable hvis den er disablet.
Indtil printeren kommer online, giver powerswitchen et bip hvert 10. 
sekund, hvor scriptet sender en tænd-kommando til den. Men det er 
faktisk en fordel, så bliver man opmærksom på at printeren skal bruges, 
hvis nogen er kommet til at slukke på selve printeren.
Igen, man kunne spørge switchen om den var tændt, før man tændte den, 
men det koster nok lige så meget som at blive ved med at tænde den.
Her er scriptet:
#!/bin/sh
PRINTER=laser
for n in 1 2 3 4 5
do
if /usr/local/bin/lpstat $PRINTER|grep :
then
   touch /tmp/powerflag
   if /usr/sbin/usbconfig|grep -i laserjet
   then
      /usr/local/sbin/cupsenable $PRINTER
   else
      /usr/local/bin/sispmctl -d1 -o1
   fi
else
   find /tmp -name powerflag -mmin +10 -delete -exec 
/usr/local/bin/sispmctl -d1 -f1 \; -exec /usr/local/sbin/cupsdisable 
$PRINTER \;
fi
sleep 10
done
Man kunne udvide scriptet; hvis printeren har været tændt længe, og der 
stadig er noget i køen, instrueres asterisk til at ringe op, og fortælle 
mig der er et problem 
 
Leif