giovedì 16 aprile 2009

Eseguire un programma all'avvio dopo un determinato tempo



Può capitare di dover far partire un programma all'avvio, come un'applet o un software per il p2p, ecc...ma se volessimo farlo partire con ritardo? Ad esempio:
Su Ubuntu e in generale con Gnome molti di voi useranno "Notifica Posta" (mail-notification) per notificare sul pannello l'arrivo di nuove mail. Bene, questo programmino funziona egregiamente ma appena si effettua il login pretende di avere la connessione già pronta e perfettamente funzionante. Soprattutto chi usa il wi-fi avrà notato che il notificatore da errore appena si avvia il pc in quanto non trova la connessione subito pronta. Per risolvere basta ritardare di appena pochi secondi l'avvio del demone per la notifica della posta. Vediamo come fare con questo script:

Aprite il terminale e date il comando:

sudo gedit /usr/local/bin/avvia_mailnotification
Dopodichè inserite questo codice nell'editor di testo, salvate e chiudetelo:

#!/bin/bash sleep 25
mail-notification --sm-disable
Sempre da terminale assegnate allo script i permessi d'esecuzione con:
sudo chmod +x /usr/local/bin/avvia_mailnotification
Ora aprite dal menu Sistema -> Preferenze il gestore "Sessioni" (in Jaunty si chiama "Applicazioni d'avvio"), cliccate su Aggiungi e inserite:

Nome: mail
Comando:
/usr/local/bin/avvia_mailnotification
Voilà! Ovviamente lo script può essere adattato per tutto quello che volete.

Grazie a pierissimo del forum di ubuntu-it

3 commenti:

Anonimo ha detto...

Ciao, cosa vuol dire
sleep 25
e
mail-notification --sm-disable
soprattutto --sm-disable

michel

Luca Farinelli ha detto...

Ciao, dunque: sleep 25 sta ad indicare in secondi il tempo in cui il demone deve rimanere fermo. Ovviamente è un parametro che puoi modificare a piacere. L'istruzione --sm-disable invece impedisce il "respawn" dell'applet. In pratica tu la tieni chiusa con sleep e per evitare che il demone si riavvii automaticamente usi --sm-disable. ;)

Anonimo ha detto...

Potrebbe essere addirittura più rapido e "pulito" scrivere questo nella casella "Comando" di Mail-notification in "Preferenze > Applicazioni di avvio":

sh -c "sleep 30; /usr/bin/mail-notification"