Freitag, 4. September 2009

libnotify - einfach und praktisch

Durch Hack A Day bin ich heute auf das kleine Programm libnotify gestoßen. Dieses erlaubt sehr einfach Benachrichtigungen auf dem Desktop auszugeben. Schnell ergeben sich einige Einsatzszenarien:
  1. Systemüberwachung:
    Sehr einfach ist die Ausgabe des syslogs oder von anderen Logdateien. Das geht sicher auch eleganter, aber diese wenigen Zeilen zeigen wie einfach libnotify funktioniert:
    #!/bin/bash
    
    X="EIN"
    syslog="leer"
    syslogalt="leer"
    dmsg="leer"
    dmsgalt="leer"
    publicip="leer"
    publicipalt="leer"
    
    while [ "$X" == "EIN" ] ; do
    
            syslog=$(tail -n 1 /var/log/syslog)
            if [ ! "$syslog" = "$syslogalt" ]; then
                    notify-send -i $HOME/skripte/syslog.png "syslog:" "$syslog"
            fi
            syslogalt="$syslog"
            sleep 5
            dmsg=$(tail -n 1 /var/log/dmesg)
            if [ ! "$dmsg" = "$dmsgalt" ]; then
                    notify-send -i $HOME/skripte/dmesg.png "dmesg:" "$dmsg"
            fi
            dmsgalt="$dmsg"
            sleep 5
            publicip=$(lynx -dump http://checkip.dyndns.org)
            if [ ! "$publicip" = "$publicipalt" ]; then
                    notify-send -i $HOME/skripte/ip.png "Neue IP-Adresse:" "$publicip"
            fi
            publicipalt="$publicip"
            sleep 5
    done
    
    Sehr primitiv und nichts für den Dauereinsatz, aber es funktioniert. Übrigens, unter skripte/ liegen bei mir auch die Icons für die Notifications.
  2. Irssi-Highlights remote:
    Was mich viel mehr begeistert, ist eine andere Möglichkeit. Wie viele, lasse ich Irssi remote in Screen laufen um es nicht immer neu starten zu müssen. Das macht leider die Ausgabe von Highlights als Notification schwieriger und beeinträchtigt so den Nutzen. Durch ein einfaches Skript lässt sich dies aber auch hier lösen:
    #!/bin/bash
    
    ssh server "tail -n 10 $HOME/.irssi/fnotify; > $HOME/.irssi/fnotify; tail -f $HOME/.irssi/fnotify" |
            sed -ru "
                    s/&/\&/g;
                    s//\>/g;
                    s%(#[a-zA-Z]+ )<([^>]{0,10})>%\1\2 %g;" |
            while read heading message
            do
                    notify-send -i "$HOME/skripte/irssi.png" -- "${heading}" "${message}"
            done
    
    Vorlage für dieses Skript war dieses hier. Damit es funktioniert, wird das Irssi-Skript fnotify benötigt, welches in .irssi/scripts/ liegen muss und in Irssi mittels /run fnotify.pl gestartet wird.

User Status

Du bist nicht angemeldet.

Suche

 

Aktuelle Beiträge

VDR 1.7 auf Dockstar
weiss jemand wie man die abhängigkeit lösen kann vdr-plugin-xinelibout put...
karsten (Gast) - 16. Apr, 10:20
Umzug
Nach ganzen sechs Jahren ist hier nun Schluss und der...
Barahir - 3. Jan, 21:11
Ich hab versucht das...
Ich hab versucht das Verzeichnis anzupassen, das hat...
Barahir - 15. Nov, 13:22

Charts Lieblingskünstler - Diese Woche

RSS Box

Das Manifest des Web 4.
Torsten - 20. Jan, 20:45
Ein Klick mehr
Frei nach Archimedes: Gib mir einen Klick mehr, und...
Torsten - 13. Aug, 10:30
Nerd ist…
…wenn deine Wohnung von Steckdosenleistenschalterl ichtern...
Torsten - 12. Mai, 14:38
Die Instant-Messenger-Rekursio n
Wenn WhatsApp behauptet, das Klopapier sei ausverkauft,...
Torsten - 15. Mär, 13:03
Nerd ist…
… social distancing like a pro.
Torsten - 10. Mär, 19:16
Bluetooth-Ethik
„Ich — in der Hölle? Warum? Ich bin Ingenieur!“ „Ein...
Torsten - 26. Aug, 10:15
Weltkulturerbe Diskette
Wir sollten die Diskette zum UNO-Weltkulturerbe machen....
Torsten - 12. Aug, 09:33
Cloud – Deutsch: Jetzt lesen
Fürs Wörterbuch Cloud – Deutsch: „Jetzt...
Torsten - 22. Jul, 09:16
Cloud – Deutsch: Kontakte
Fürs Wörterbuch Cloud – Deutsch: „Wirf...
Torsten - 21. Jul, 14:09
KI 2.0
2025 stellten die Forscher ihre Forschungen zur Künstlichen...
Torsten - 3. Dez, 08:39

Status

Online seit 6384 Tagen
Zuletzt aktualisiert: 16. Apr, 10:20