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

nessun oggetto della modifica
Nessun oggetto della modifica
Nessun oggetto della modifica
Riga 1: Riga 1:
===Intro===
===Introduzione===
Scrivo questa breve guida per chi, come me, esegue più volte al giorno il comando:
Scrivo questa breve guida per chi, come me, esegue più volte al giorno il comando:
<pre># apt-get update && apt-get dist-upgrade</pre>
<pre># apt-get update && apt-get dist-upgrade</pre>
(o equivalente alias contenuto nel file .bashrc di root) alla ricerca di aggiornamenti.
(o equivalente alias contenuto nel file .bashrc di root) alla ricerca di aggiornamenti.<br/>
Dopo aver seguito i successivi tre semplici passi, la notifica della presenza di aggiornamenti dei nostri pacchetti sarà visualizzabile direttamente sulla systray, restandoci per un tempo impostabile a piacimento.


Servono fondamentalmente tre cose:
Servono fondamentalmente tre cose:
* Un job di [[Utilizzo del servizio di scheduling Cron|cron]] 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 secondo job di cron che lancia lo script precedente;
* Un job di [[Utilizzo del servizio di scheduling Cron|cron]] che lancia lo script di notifica;


===Job di cron per l'aggiornamento degli indici dei pacchetti===
===Script per l'aggiornamento degli indici dei pacchetti===
Questo primo job di cron può essere inserito in ''/etc/cron.hourly'' per essere lanciato ogni ora; il suo funzionamento è banale:
Questo script può essere inserito in ''/etc/cron.hourly'' per essere lanciato ogni ora; il suo funzionamento è banale:


creare, come utente root, un file contenente le seguenti righe:
creare, come utente root, un file contenente le seguenti righe:
<pre>#!/bin/sh
<pre>#!/bin/sh
apt-get update &>/dev/null</pre>
apt-get update &>/dev/null</pre>
salvare il file in ''/etc/cron.hourly'' e renderlo eseguibile; se ad esempio lo abbiamo chiamato ''aggiorna'':
salvare il file in ''/etc/cron.hourly'' e renderlo eseguibile; se ad esempio lo abbiamo chiamato ''aggiorna'':
<pre># chmod +x aggiorna</pre>
<pre># chmod +x aggiorna</pre>
:'''Attenzione:''' A causa del namespace dei caratteri ridotto usato dal comando ''run-parts'' (che si occupa, in ''/etc/crontab'', di lanciare gli script), il nome che si può scegliere per gli script inseriti in ''/etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly'' e ''/etc/cron.monthly'' può contenere solo caratteri che siano lettere maiuscole, lettere minuscole, numeri, trattini( - ) o underscore ( _ ), pena il fallimento del lancio degli script stessi.
:'''Attenzione:''' A causa del namespace dei caratteri ridotto usato dal comando ''run-parts'' (che si occupa, in ''/etc/crontab'', di lanciare gli script), il nome che si può scegliere per gli script inseriti in ''/etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly'' e ''/etc/cron.monthly'' può contenere solo caratteri che siano lettere maiuscole, lettere minuscole, numeri, trattini( - ) o underscore ( _ ), pena il fallimento del lancio degli script stessi.


Il compito di questo job è soltanto quello di aggiornare la lista degli indici dei pacchetti, senza aggiornare il sistema. L'output e gli eventuali errori del comando vengono soppressi. Per le mie necessità è sufficiente in quanto gli errori sono spesso dovuti all'irraggiungibilità dei repo, 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 ''apt-get update'' vengono soppressi. Per le mie necessità è sufficiente in quanto gli errori sono spesso dovuti all'irraggiungibilità dei repo, 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 job nella directory ''/etc/cron.d'' secondo il formato di [[Utilizzo del servizio di scheduling Cron#Crontab_Command_settings|crontab]].<br/>


Questa è l'unica parte in cui i comandi vanno dati con i permessi di root; i successivi passi vanno eseguiti attraverso i normali privilegi utente.
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 ''/etc/cron.d'' oppure, in alternativa, inserire il job attraverso il comando:
<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/>
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.


===Script di notifica nella systray===
===Script di notifica nella systray===
Riga 53: Riga 54:
che può essere inserito dopo aver dato il comando:
che può essere inserito dopo aver dato il comando:
<pre>$ crontab -e</pre>
<pre>$ crontab -e</pre>
Questo job 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 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:
<pre>*/10 * * * * ~/scripts/notifica >/dev/null 2>&1</pre>
<pre>*/10 * * * * ~/scripts/notifica >/dev/null 2>&1</pre>


6 999

contributi