Updatebenachrichtigung (KDE)

Aus wiki.archlinux.de
Version vom 4. November 2012, 19:22 Uhr von SiD (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „Hier eine Möglickeit unter KDE einen Benachritigungs Dialog für verfügbare Updates einzurichten. Es muss lediglich ein Cron Service laufen und {{AUR|cow…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Hier eine Möglickeit unter KDE einen Benachritigungs Dialog für verfügbare Updates einzurichten. Es muss lediglich ein Cron Service laufen und cowerAUR aus dem AUR installiert sein.

Zuerst wird ein stündlicher Cronjob erstellt, der die lokale Paketdatenbank aktualisiert

/etc/cron.hourly/pacman-sync

#!/bin/bash
pacman -Sy

Dann noch ein stündlicher User-Cronjob der das eigentliche Script aufruft

crontab -e (als user)

01 * * * * DISPLAY=:0 /usr/local/bin/check-updates

Das Script

/usr/local/bin/check-updates


#!/bin/bash

pkgs=$(pacman -Qqu | wc -l)
aurpkgs=$(cower -u | wc -l)

unset msg1
unset msg2
unset packages

if [ $pkgs -gt 0 ]; then
  msg1="$pkgs in Pacman" 
fi

if [ ${aurpkgs} -gt 0 ]; then
  msg2="$aurpkgs in AUR"
fi 

let packages=$pkgs+$aurpkgs


## kann auch alles in einer if Abfrage gemacht werden, nur 3 wegen der Optik der Ausgabe ;-)
if [ $packages -gt 0 ] && [ $pkgs -gt 0 ] && [ $aurpkgs -gt 0 ]; then 
 kdialog --title "Paket Updates" --passivepopup \
      "Updates fuer $packages Pakete verfuegbar. \n \
      ( $msg1, $msg2 )" 10
fi

if [ $packages -gt 0 ] && [ $pkgs -eq 0 ]; then
  kdialog --title "Paket Updates" --passivepopup \
      "Updates fuer $packages Pakete verfuegbar. \n \                                                                          
      ( $msg2 )" 10                                                                                                            
fi                                                                                                                             
                                                                                                                               
if [ $packages -gt 0 ] && [ $aurpkgs -eq 0 ]; then                                                                             
  kdialog --title "Paket Updates" --passivepopup \
      "Updates fuer $packages Pakete verfuegbar. \n \
      ( $msg1 )" 10
fi

exit 0