Manchmal sind es die kleinen Dinge, die Usability ausmachen. Ubuntu-Entwickler Dustin Kirkland hat sich so einen kleinem Fall angenommen. Führt man einen Prozess in einem Terminal aus, der etwas länger dauern wird, so wird man wohl kaum das Terminal im Auge behalten. Somit verpasst man auch das Ende des Prozesses. Dustin hat sich nun ein kleines Alias-Kommando ausgedacht, das man an den Prozess-Aufruf anhängt und das dann beim Beenden des Prozesses über das Benachrichtigungssystem von Ubuntu die entsprechende Information ausgibt.
Das Kommando wird über ein so genanntes Alias dem System bekannt gemacht, so braucht man kein Shell-Skript anzulegen. Öffnet daher die ~/.bashrc in euren bevorzugten Editor gedit ~/.bashrc und fügt die folgenden Zeilen am Ende der Datei ein.
# Benachrichtigungen bei langen Prozessen
if [ -x /usr/bin/notify-send ]; then
alias alert='notify-send -i gnome-terminal "[$?] $(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/;\s*alert$//'\'')"'
fi
Die if-Abfrage überprüft ob das Programm notify-send aus dem Paket libnotify-bin installiert ist und falls ja, dann wird das Alias gesetzt. Überprüft daher ob das besagte Paket auch installiert ist. Der Abschließende Befehl initialisiert die Bash neu…
$ sudo apt-get install libnotify-bin
$ . ~/.bashrc
Nun könnt Ihr durch das Anfügen von ; alert eine Benachrichtigung auslösen, sobald ein Befehl abgearbeitet wurde. Natürlich macht das nur Sinn, wenn Ihr wisst dass der Befehl länger laufen wird.
# Allgemein
$ befehl; alert
# Beispiel
$ wget http://speedtest.netcologne.de/test_1mb.bin; alert

Ich hatte das eigentlich schon immer über ein $befehl; beep gemacht, doch die Benachrichtigung inklusive dem Exit-Code des Befehls ist deutlich eleganter. Klasse wäre das natürlich, wenn sowas von Haus aus im Terminal eingebaut wäre und eine Benachrichtigung ausgegeben werden würde, wenn ein Befehl x Sekunden zur Ausführung braucht und/oder das Terminal gerade minimiert/verdeckt ist.




Schreibe einen Kommentar