KDE - Notifica degli aggiornamenti sulla systray: differenze tra le versioni

nessun oggetto della modifica
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 9: Riga 9:
* Uno script che effettua la risincronizzazione dei file contenenti gli indici dei pacchetti;
* Uno script che effettua la risincronizzazione dei file contenenti gli indici dei pacchetti;
* Uno script per notificare nella systray gli aggiornamenti eventualmente trovati;
* Uno script per notificare nella systray gli aggiornamenti eventualmente trovati;
* Un job di [[Utilizzo del servizio di scheduling Cron|cron]] che lancia lo script di notifica;
* Un job di [[Utilizzo del servizio di scheduling Cron|Cron]] che lancia lo script di notifica;


== Script per l'aggiornamento degli indici dei pacchetti ==
== Script per l'aggiornamento degli indici dei pacchetti ==
Riga 23: Riga 23:
Il compito di questo script è soltanto quello di aggiornare la lista degli indici dei pacchetti, senza aggiornare il sistema. L'output e gli eventuali errori del comando <code>''apt-get update''</code> vengono soppressi. Per le mie necessità è sufficiente in quanto gli errori sono spesso dovuti all'irraggiungibilità dei repository, cosa in genere risolta in poco tempo.
Il compito di questo script è soltanto quello di aggiornare la lista degli indici dei pacchetti, senza aggiornare il sistema. L'output e gli eventuali errori del comando <code>''apt-get update''</code> vengono soppressi. Per le mie necessità è sufficiente in quanto gli errori sono spesso dovuti all'irraggiungibilità dei repository, cosa in genere risolta in poco tempo.


Se si vuol far in modo che lo script venga eseguito ad intervalli diversi dall'ora, è possibile inserire un semplice file di testo, contenente un job di cron, nella directory <code>/etc/cron.d</code> oppure, in alternativa, inserire il job attraverso il comando:
Se si vuol far in modo che lo script venga eseguito ad intervalli diversi dall'ora, è possibile inserire la seguente riga:
<pre>
*/20 * * * * /usr/bin/apt-get update &>/dev/null
</pre>
attraverso il comando:
<pre># crontab -e</pre>
<pre># crontab -e</pre>
In entrambi i casi il formato da utilizzare è quello di [[Utilizzo del servizio di scheduling Cron#Crontab_Command_settings|crontab]].<br/>
Il formato da utilizzare è quello di [[Utilizzo del servizio di scheduling Cron#Crontab_Command_settings|crontab]].<br/>
Con la precedente riga si indica a <code>Cron</code> di lanciare il job ogni ora quando i minuti sono 20 o multipli di 20 (ad esempio: 15.20, 15.40, 16.00, 16.20 etc.)
 
È possibile istruire <code>Cron</code> per lanciare il job anche all'avvio del sistema. In questo caso c'è da aggiungere una seconda riga:
<pre>
@reboot /usr/bin/apt-get update &>/dev/null
</pre>
Questa modifica si dimostrerà molto utile, come si vedrà più avanti, nel caso si decidesse di volere la notifica degli aggiornamenti anche all'avvio di una sessione di KDE.
 
Questa è l'unica parte della guida in cui i comandi vanno dati con i permessi di root; i successivi passi vanno eseguiti attraverso i normali privilegi utente.
Questa è l'unica parte della guida in cui i comandi vanno dati con i permessi di root; i successivi passi vanno eseguiti attraverso i normali privilegi utente.


Riga 50: Riga 62:
<pre>$ chmod +x ~/scripts/notifica</pre>
<pre>$ chmod +x ~/scripts/notifica</pre>


== Job di cron per lanciare lo script di notifica ==
== Job di Cron per lanciare lo script di notifica ==
Il job di cron per lanciare lo script precedente deve essere specificato nel formato di crontab:
Il job di <code>Cron</code> per lanciare lo script precedente deve essere specificato nel formato di <code>crontab</code>:
<pre>30 * * * * ~/scripts/notifica >/dev/null 2>&1</pre>
<pre>30 * * * * ~/scripts/notifica >/dev/null 2>&1</pre>
che può essere inserito dopo aver dato il comando:
che può essere inserito dopo aver eseguito il comando:
<pre>$ crontab -e</pre>
<pre>$ crontab -e</pre>
Nell'esempio indicato, il job di cron verrà lanciato ogni ora e quando i minuti valgono 30 (1,30h 2,30h 3,30h e così via). L'intervallo di tempo è liberamente modificabile; ad esempio, se si vuol lanciare il job ogni 10 min:
Nell'esempio indicato, il job di <code>Cron</code> verrà lanciato ogni ora e quando i minuti valgono 30 (01.30, 02.30, 03.30 e così via). L'intervallo di tempo è liberamente modificabile; ad esempio, se si vuol lanciare il job ogni 10 min:
<pre>*/10 * * * * ~/scripts/notifica >/dev/null 2>&1</pre>
<pre>*/10 * * * * ~/scripts/notifica >/dev/null 2>&1</pre>
== Notifica all'avvio di una sessione KDE ==
Questo passaggio non è fondamentale ma potrebbe rivelarsi utile per gli utenti che volessero ricevere la notifica di aggiornamenti all'avvio della loro sessione di KDE.<br/>
La prima cosa da fare è accertarsi, come spiegato nel primo paragrafo, che <code>Cron</code> esegua l'aggiornamento della lista dei pacchetti all'avvio del sistema; quindi eseguire il comando:
<pre>
$ ln -s /percorso/dello/script/script_di_notifica /home/utente/.kde/Autostart/nome_link
</pre>
che creerà, nella cartella <code>Autostart</code>, un link simbolico <code>nome_link</code> allo script di notifica. In questo modo lo script verrà lanciato all'avvio di KDE.<br/>
In particolare, per un utente <code>pippo</code> e con lo script chiamato <code>notifica</code> contenuto in <code>/home/pippo/script/notifica</code>, il comando diventa:
<pre>
$ ln -s /home/pippo/script/notifica /home/pippo/.kde/Autostart/notifica
</pre>
o, più semplicemente:
<pre>
$ ln -s ~/script/notifica ~/.kde/Autostart/notifica
</pre>


== Conclusioni ==
== Conclusioni ==
Riga 69: Riga 97:
== Documentazione ==
== Documentazione ==
*[http://techbase.kde.org/Development/Tutorials/Shell_Scripting_with_KDE_Dialogs Kdialog]
*[http://techbase.kde.org/Development/Tutorials/Shell_Scripting_with_KDE_Dialogs Kdialog]
*[http://manpages.debian.net/cgi-bin/man.cgi?query=crontab&sektion=5&apropos=0&manpath=Debian+5.0+lenny&locale=:link man crontab]
*[http://manpages.debian.net/cgi-bin/man.cgi?query=crontab&apropos=0&sektion=0&manpath=Debian+squeeze&format=html&locale=en man crontab]
*[http://manpages.debian.net/cgi-bin/man.cgi?query=cron&apropos=0&sektion=0&manpath=Debian+5.0+lenny&format=html&locale=en man cron]
----
----
: [[Utente:S3v|S3v]]
: [[Utente:S3v|S3v]]


[[Categoria:Desktop Environment]] [[Categoria:Kde]]
[[Categoria:Desktop Environment]] [[Categoria:Kde]]
6 999

contributi