Updatebenachrichtigung (KDE): Unterschied zwischen den Versionen
SiD (Diskussion | Beiträge) K typo |
Dirk (Diskussion | Beiträge) K synt, hc |
||
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Hier eine | 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 | ||
{{hc|/etc/cron.hourly/pacman-sync|#!/bin/bash | |||
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 | ||
{{hc|1=crontab -e (als user)|2=01 * * * * DISPLAY=:0 /usr/local/bin/check-updates}} | |||
Das Script | Das Script | ||
{{hc|/usr/local/bin/check-updates|<nowiki>#!/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 \ | 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 | |||
exit 0</nowiki>}} | |||
[[Kategorie:Scripte]] | [[Kategorie:Scripte]] | ||
[[KAtegorie:Tipps und Tricks]] | [[KAtegorie:Tipps und Tricks]] |
Aktuelle Version vom 5. Juni 2013, 20: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