Updatebenachrichtigung (KDE)

Aus wiki.archlinux.de
Version vom 5. Juni 2013, 20:44 Uhr von Dirk (Diskussion | Beiträge) (synt, hc)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Hier eine Möglichkeit unter KDE einen Benachrichtigungsdialog 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