Newsgroup: it.comp.os.linux.software
Titolo: Sfuttare lo screen saver per lavori in bg

Qualcuno conosce lo script di cui si serve Kde per avviare gli screen
saver?
Chiedo questo perchè mi è venuta un idea, e cioè vorrei poter modificare
tale
script(sempre che ci sia), per far
in modo che dopo aver avviato lo screen saver eseguisse un mio script per
fare determinati lavori, ad esempio compilazioni lunghe, o semplicemente
magari facendo partire mpg123 per ascoltare mp3 alla partenza dello screen
saver...
E possibile fare un cosa del genere secondo voi?
Io crdeo di si, mi serve solo qualcuno che mi indichi la via... :-)
Ciao.

 Ciao.
man at; man cron
Henryx
-- 
Valentina: "Mi piace inventare gli spettacoli che voglio... quelli
che non riesco a vedere, cerco di sognarli..."
                                          Guido Crepax (1933-2003)

 Henryx
Non ho molta confidenza con questi programmi ma mi sembra(correggimi se
sbaglio) che facciano
partire dei programmi automaticamente in tempi prestabiliti(at un'unica
volta, cron in maniera perpetua)
E un tantino diverso da ciò che avevo chiesto io...
Cioè, come faccio a fare in modo che questi facciano partire i programmi un
secondo dopo la partenza degli screen saver?
Credo che la cosa più comoda sia capire da quale script kde li faccia
partire...
Ciao

 partire...
xscreensaver e` un programma client/server.
Quello che vuoi fare tu e` compreso nella man page di
xscreensaver-command (sezione -watch).
-- 
                         Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------
Debian GNU/Linux: because size DOES matter.

 man at; man cron
Puo darsi gli vada bene anche questo, ma la domanda era diversa.
at o cron sono degli schedulatori. fanno cose a determinate ore.
Farlo con lo screen saver in pratica significa farlo quando non c'è
nessuno davanti al pc, non ad un ora precisa.
Però la risposta non la so.

 Ciao.
Azzardo due soluzioni
1) usare uno script bash
	Puoi fare un scriptino bash dove grazie ad una pipe tra ps e
	grep puoi verificare se e' attivo il processo relativo allo screen
	saver.
	In caso di riposta affermativa dallo script stesso lanci cio'
	che ti interessa.
	lo script devi eseguirlo ogni tot minuti qundi lo
	dovrai lanciare da cron, o da alto schedulatore di task.
 
2) usare uno script Python
	Non sono un esperto ma credo sia fattibilissimo mi pare di aver
	letto  qualcosa a proposito da qualche parte.
Nei modi indicati pero' il task che va in esecuzione non viene
interrotto al chidersi dello screen saver, Puoi ovviare con script che
si occupano di cio'.
In bocca al lupo.

 cio'.
sicuramente si puo testare anche la chiusura tramite cron e lanciare no
script apposito.
Bisogna vedere se il programma lanciato supporta il "resume". Se stavo
facendo l'encoding di un filmato avi, potrebbero anche girarmi le palle
se viene killato al 90%.
magari nel caso anzichè chiuderlo si potrebbe usare nice
per abbassargli solo la priorità

 al pc, non ad un ora precisa.
Conosci dei comandi che fanno delle cose quando non c'e' nessuno davanti
al PC? Io no.
Quindi: man cron, man at.
--
Massimiliano.

 secondo dopo la partenza degli screen saver?
Come ha detto Tannoiser, vedi nella documentazione di kscreensaver (e non
di xscreensaver[1]) se c'e` qualcosa di analog all'opzione -watch . Per un
esempio di script, questo e` quello che riporta xscreensaver-command:
#!/usr/bin/perl
my $blanked = 0;
open (IN, "xscreensaver-command -watch |");
while (<IN>) {
   if (m/^(BLANK|LOCK)/) {
      if (!$blanked) {
         system "sound-off";
         $blanked = 1;
      }
   } elsif (m/^UNBLANK/) {
      system "sound-on";
      $blanked = 0;
      }
}
In sostanza il programma si mette in attesa e fa partire sound-off (che
ovviamente e` sostituibile con qualsiasi cosa) al momento della partenza
dello screensaver (sta a te ovviamente adattarlo o riscriverlo in un altro
linguaggio).
Henryx
[1] xscreensaver e` generico per XFree e per GNOME, kscreensaver e`
specifico per KDE[2] (e` per questo che ho descritto quasi
dettagliatamente quello che riportava la man page di xscreensaver-command)
[2] ovviamente se quelli di KDE non si distinguono dal resto della
marmaglia reinventando una ruota tutta per loro non possono ritenersi
soddisfatti


 soddisfatti
ACK.
[*]
Sono buono, va.
-- 
                         Maurizio - Tannoiser - Lemmo
                 Founder Member of ERLUG 
http://erlug.linux.it
-------------------------------------------------------------------------------
There /was/ a light at the end of the tunnel, and it was a flamethrower.

 al PC? Io no.
Si vede che non usi screensaver o roba del genere. Comunque at e cron
_fanno_ qualcosa quando non c'e` nessuno davanti al pc


 se inferiori/inefficenti ai programmi che "mimano"[*]).
Il problema e` l'integrazione. KScreensaver e` integrato direttamente
nell'ambiente di KDE, XScreensaver no.
Henryx
P.S. e comunque quei "geni" di KDE, avrebbero potuto fare allo stesso
modo di quelli di GNOME e cioe` creare un backend per XScreensaver da
utilizzare con il loro ambiente


 _fanno_ qualcosa quando non c'e` nessuno davanti al pc
Non voglio essere polemico, ma "at" e "cron" fanno qualcosa ad una certa
ora, che ci sia o meno qualcuno davanti al pc.
Secondo mè l'idea era di fare qualcosa (sul genere elaborazione pesante)
quando non disturba. Utilizzare il sistema dello screensaver non è una
cattiva idea. (IMHO lanciare un programma con "nice 19" fa quasi la 
stessa cosa, quanto meno il disturbo è minimo)
Più sotto, comunque sono state suggerite delle soluzioni al problema.

 _fanno_ qualcosa quando non c'e` nessuno davanti al pc
Non scrivere cazzate. Fanno qualcosa cadenzato nel tempo, ma non quando tu
sei al cesso o a fumare la sigaretta o a dormire.
Il fatto che tu poi voglia verificare l'esistenza di un processo per
attivarne un altro e un discorso diverso ancora.
--
Massimiliano.

 sei al cesso o a fumare la sigaretta o a dormire.
Ok, forse e` meglio che mi spieghi meglio. Fanno qualcosa senza un
intervento umano (che si limita solo ad impostarli, ma questo e` un
requisito di cui hanno bisogno tutti i programmi)
