Updatebenachrichtigung (KDE): Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Zur Navigation springen Zur Suche springen
(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…“)
 
K (synt, hc)
 
(3 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Hier eine Möglickeit unter [[KDE]] einen Benachritigungs Dialog für verfügbare Updates einzurichten.
+
Hier eine Möglichkeit unter [[KDE]] einen Benachrichtigungsdialog für verfügbare Updates einzurichten.
Es muss lediglich ein Cron Service laufen und {{AUR|cower}} aus dem [[AUR]] installiert sein.
+
Es muss lediglich ein Cron-Service laufen und {{AUR|cower}} aus dem [[AUR]] installiert sein.
  
 
Zuerst wird ein stündlicher Cronjob erstellt, der die lokale Paketdatenbank aktualisiert
 
Zuerst wird ein stündlicher Cronjob erstellt, der die lokale Paketdatenbank aktualisiert
/etc/cron.hourly/pacman-sync
+
 
+
{{hc|/etc/cron.hourly/pacman-sync|#!/bin/bash
#!/bin/bash
+
pacman -Sy}}
pacman -Sy
 
  
 
Dann noch ein stündlicher User-Cronjob der das eigentliche Script aufruft
 
Dann noch ein stündlicher User-Cronjob der das eigentliche Script aufruft
  
crontab -e (als user)
+
{{hc|1=crontab -e (als user)|2=01 * * * * DISPLAY=:0 /usr/local/bin/check-updates}}
 
01 * * * * DISPLAY=:0 /usr/local/bin/check-updates
 
  
 
Das Script
 
Das Script
  
/usr/local/bin/check-updates
+
{{hc|/usr/local/bin/check-updates|<nowiki>#!/bin/bash
+
 
+
pkgs=$(pacman -Qqu | wc -l)
#!/bin/bash
+
aurpkgs=$(cower -u | wc -l)
+
 
pkgs=$(pacman -Qqu | wc -l)
+
unset msg1
aurpkgs=$(cower -u | wc -l)
+
unset msg2
+
unset packages
unset msg1
+
 
unset msg2
+
if [ $pkgs -gt 0 ]; then
unset packages
+
  msg1="$pkgs in Pacman"  
+
fi
if [ $pkgs -gt 0 ]; then
+
 
  msg1="$pkgs in Pacman"  
+
if [ ${aurpkgs} -gt 0 ]; then
fi
+
  msg2="$aurpkgs in AUR"
+
fi  
if [ ${aurpkgs} -gt 0 ]; then
+
 
  msg2="$aurpkgs in AUR"
+
let packages=$pkgs+$aurpkgs
fi  
+
 
+
## kann auch alles in einer if Abfrage gemacht werden, nur 3 wegen der Optik der Ausgabe ;-)
let packages=$pkgs+$aurpkgs
+
if [ $packages -gt 0 ] && [ $pkgs -gt 0 ] && [ $aurpkgs -gt 0 ]; then
+
kdialog --title "Paket Updates" --passivepopup \
+
      "Updates fuer $packages Pakete verfuegbar. \n \
## kann auch alles in einer if Abfrage gemacht werden, nur 3 wegen der Optik der Ausgabe ;-)
+
      ( $msg1, $msg2 )" 10
if [ $packages -gt 0 ] && [ $pkgs -gt 0 ] && [ $aurpkgs -gt 0 ]; then  
+
fi
 +
 
 +
if [ $packages -gt 0 ] && [ $pkgs -eq 0 ]; then
 
   kdialog --title "Paket Updates" --passivepopup \
 
   kdialog --title "Paket Updates" --passivepopup \
      "Updates fuer $packages Pakete verfuegbar. \n \
+
      "Updates fuer $packages Pakete verfuegbar. \n \
      ( $msg1, $msg2 )" 10
+
      ( $msg2 )" 10
fi
+
fi                                                                                                            
+
 
if [ $packages -gt 0 ] && [ $pkgs -eq 0 ]; then
+
if [ $packages -gt 0 ] && [ $aurpkgs -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 \
 
   kdialog --title "Paket Updates" --passivepopup \
 
       "Updates fuer $packages Pakete verfuegbar. \n \
 
       "Updates fuer $packages Pakete verfuegbar. \n \
 
       ( $msg1 )" 10
 
       ( $msg1 )" 10
fi
+
fi
+
 
exit 0
+
exit 0</nowiki>}}
  
 
[[Kategorie:Scripte]]
 
[[Kategorie:Scripte]]
 
[[KAtegorie:Tipps und Tricks]]
 
[[KAtegorie:Tipps und Tricks]]

Aktuelle Version vom 5. Juni 2013, 21:44 Uhr

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