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

compatibilità con Stretch
(compatibilità con Stretch)
Riga 1: Riga 1:
{{Versioni compatibili|Squeeze|Wheezy|Jessie}}
{{Versioni compatibili|Squeeze|Wheezy|Jessie|Stretch}}
__TOC__
 
{{Box|Nota|Per chi vuole evitare inutili complicazioni, è possibile utilizzare il [[pacchetto]] "update-notifier-kde".}}


== Introduzione ==
== 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 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 <code>.bashrc</code> di root) alla ricerca di aggiornamenti.<br/>
(o equivalente [[alias]] contenuto nel file <code>.bashrc</code> di root) alla ricerca di aggiornamenti.<br/>
Riga 33: Riga 30:


== Script di notifica nella systray ==
== Script di notifica nella systray ==
Lo script che si occupa di far comparire la notifica nella systray fa uso di [http://techbase.kde.org/Development/Tutorials/Shell_Scripting_with_KDE_Dialogs Kdialog]:
Lo script che si occupa di far comparire la notifica nella systray fa uso di Kdialog<sup>[[#Documentazione|[1]]]</sup>.
<pre>#!/bin/bash
<pre>#!/bin/bash


NUM=`aptitude search ~U | wc -l`
NUM=$(( $(apt list --upgradable 2>/dev/null | wc -l) - 1 ))


if [ $NUM -eq 0 ]; then exit
if [ $NUM -eq 0 ]; then exit
Riga 45: Riga 42:


; <code>'''NUM'''</code>: variabile che conterrà il numero di pacchetti aggiornabili;
; <code>'''NUM'''</code>: variabile che conterrà il numero di pacchetti aggiornabili;
; <code>'''aptitude search ~U'''</code>: fornisce una lista (estratta dalla lista aggiornata ogni ora dal job di cron precedente) dei pacchetti che possono essere aggiornati;
; <code>'''(apt list --upgradable 2>/dev/null | wc -l) - 1'''</code>: fornisce una lista (estratta dalla lista aggiornata ogni ora dal job di Cron precedente) dei pacchetti che possono essere aggiornati. La soppressione dell'output di errore e il decremento di uno del numero di pacchetti si rende necessario in quanto il comando avverte l'utente di possibili problemi nel suo utilizzo all'interno di script.
; <code>'''wc -l'''</code>: prende l'output del comando precedente e ne conta le linee. In pratica conta il numero di pacchetti che possono essere aggiornati;
 
; <code>'''env DISPLAY=:0 kdialog'''</code>: viene utilizzato il comando <code>env</code> per settare la variabile d'ambiente DISPLAY ed eseguire il comando <code>kdialog</code>;
; <code>'''env DISPLAY=:0 kdialog'''</code>: viene utilizzato il comando <code>env</code> per settare la variabile d'ambiente DISPLAY ed eseguire il comando <code>kdialog</code>;
; <code>'''--passivepopup'''</code>: parametro che indica a Kdialog di mostrare un popup di notifica contenente il testo specificato tra virgolette;
; <code>'''--passivepopup'''</code>: parametro che indica a Kdialog di mostrare un popup di notifica contenente il testo specificato tra virgolette;
Riga 54: Riga 51:
<pre>$ chmod +x ~/scripts/notifica</pre>
<pre>$ chmod +x ~/scripts/notifica</pre>


{{Box|Nota|Nelle versioni di [[APT|apt]] a partire dalla 1.0, attualmente presenti in [[Jessie]], [[Sid]] e [[experimental]], i pacchetti da installare possono essere visualizzati con il comando:<pre>$ apt list --upgradable</pre>Pertanto, per chi non vuole ricorrere ad [[aptitude]], nello script precedente bisogna sostituire la riga:<pre>NUM=`aptitude search ~U | wc -l`</pre>con la riga:<pre>NUM=$((`apt list --upgradable 2>/dev/null | wc -l` - 1))</pre>La soppressione dell'output di errore e il decremento di uno del numero di pacchetti si rende necessario in quanto il comando, da poco introdotto, avverte l'utente di possibili problemi nel suo utilizzo all'interno di script.}}
{{Box|Nota|Nelle versioni di [[apt]] presenti prima di [[Jessie]], i pacchetti da installare devono essere visualizzati attraverso [[Aptitude]]. Pertanto bisogna sostituire la riga:<pre>NUM=$(( $(apt list --upgradable 2>/dev/null | wc -l) - 1 ))</pre>con la riga<pre>NUM=`aptitude search ~U | wc -l`</pre>}}


== Job di Cron per lanciare lo script di notifica ==
== Job di Cron per lanciare lo script di notifica ==
Riga 92: Riga 89:


== Documentazione ==
== Documentazione ==
*[http://techbase.kde.org/Development/Tutorials/Shell_Scripting_with_KDE_Dialogs Kdialog]
[1] [http://techbase.kde.org/Development/Tutorials/Shell_Scripting_with_KDE_Dialogs Kdialog]<br/>
*[http://manpages.debian.net/cgi-bin/man.cgi?query=crontab&apropos=0&sektion=0&manpath=Debian+squeeze&format=html&locale=en man crontab]
[2] [http://manpages.debian.net/cgi-bin/man.cgi?query=crontab&apropos=0&sektion=0&manpath=Debian+squeeze&format=html&locale=en man crontab]<br/>
*[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]
[3] [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]<br/>


{{Autori
{{Autori
6 999

contributi