Ubuntu 12.04 „Precise Pangolin“
Ubuntu 10.04 „Lucid Lynx“
Conky ist leicht durch Skripte erweiterbar, von denen man viele im Netz findet, wenn man sie nicht gerade selber schreiben mag. Außerdem verfügt Conky über Lua-Unterstützung mit imlib2- und Cairo-Bindings.
Über das Element ${execi SEKUNDEN BEFEHL}
lassen sich in der Conky-Konfiguration Befehle, Skripte oder Einzeiler wiederholt ausführen, deren Ausgabe von Conky angezeigt wird.
Ein kleines Beispiel, um einen Kalender für den aktuellen Monat zu erzeugen:
${color red}Kalender ${hr 2}$color ${execpi 60 DJS=`date +%_d`; cal | sed s/"\(^\|[^0-9]\)$DJS"'\b'/'\1${color red}'"$DJS"'$color'/}}
Die Einbindung eines externen Skriptes in der Conky-Konfigurations-Datei soll im Vergleich zu einer vorhandenen Funktion dargestellt werden. Die vorhandene Funktion ist das Anzeigen der lokalen IP, das Skript gibt die öffentliche (globale) IP aus.
Zuerst wird ein Shell-Skript erstellt [1]:
1 2 3 4 5 | #!/bin/bash # eigene öffentliche ip anzeigen wget http://checkip.dyndns.org/ -q -O - | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>' |
Anstatt http://checkip.dyndns.org/
kann man natürlich auch
http://whatismyip.org/
http://wieistmeineip.net/
http://www.myipaddress.com/
http://wieistmeineip.de/
oder ähnliche Dienste eintragen.
Das Skript wird als ~/.conky/publicip.sh gespeichert und die Ausführung als Programm muss erlaubt werden [2]. Im TEXT
-Abschnitt der .conkyrc kann dann folgende Zeile ergänzt werden, um die lokale und globale IP anzuzeigen, wobei die globale IP alle 7200 Sekunden (zwei Stunden) ermittelt wird:
IP : Lokal: ${addr eth0} ${offset 10} Global: ${execi 7200 ~/.conky/publicip.sh}
Eine weitere Möglichkeit die öffentliche IP anzuzeigen ohne ein weiteres Skript zu erstellen ist auch vorhanden.
Im TEXT-Abschnitt der .conkyrc kann dann folgendes ergänzt werden.
IPv4:
IPv4 global: ${execi 7200 wget http://v4.ipv6-test.com/api/myip.php -q -O -}
IPv6:
IPv6 global: ${execi 7200 wget http://v6.ipv6-test.com/api/myip.php -q -O -}
Das Einbinden von vnStat ist sinnvoll, wenn man den Datenverkehr über einen bestimmten Zeitraum (Tag, Woche, Monat, Jahr) erhalten will.
Dazu installiert [1] man erst einmal das Paket
vnstat (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install vnstat
sudo aptitude install vnstat
und legt fest, welche Netzwerkschnittstelle überwacht werden soll (Näheres zur Installation/Konfiguration erfährt man im vnStat-Artikel). Die folgenden Beispiele zeigen, wie man vnStat letztendlich in die .conkyrc einbinden kann:
Für den heutigen Traffic:
Heute: Down: ${execi 300 vnstat | grep "today" | awk '{print $2 $3}'} ${alignr}Up: ${execi 300 vnstat | grep "today" | awk '{print $5 $6}'}
Für den Traffic der gesamten Woche:
Diese Woche: Down: ${execi 300 vnstat -w | grep "current week" | awk '{print $3 $4}'} ${alignr}Up: ${execi 300 vnstat -w | grep "current week" | awk '{print $6 $7}'}
Für den Traffic des gesamten Monats;
Traffic ${time %B}: Down: ${execi 300 vnstat -m | grep "`LC_ALL=C date +"%b '%y"`" | awk '{print $3 $4}'} ${alignr}Up: ${execi 300 vnstat -m | grep "`LC_ALL=C date +"%b '%y"`" | awk '{print $6 $7}'}
...und schließlich noch ein Beispiel für die Angabe des gesamten Traffics in einem Monat:
Traffic ${time %B}: ${execi 300 vnstat -m | grep "`LC_ALL=C date +"%b '%y"`" | awk '{print $9 $10}'}
Beispiel für die Ausgabe (gesamt im Monat):
Traffic November: 12,45GB
Möchte man sich die Anzahl der verfügbaren Updates anzeigen lassen, so hat man diverse Möglichkeiten dazu. Die einfachste benötigt keinerlei weitere Eingriffe ins System und ist zu bevorzugen:
${execi 1800 aptitude search "~U" | wc -l} Updates
Das Conky Hardcore Team stellt verschiedene Conky-Skripte als Pakete für Ubuntu-Versionen bis einschließlich Ubuntu 11.04 zur Verfügung [3].
Adresszeile zum Hinzufügen des PPAs:
ppa:conkyhardcore/ppa
Zusätzliche Fremdquellen können das System gefährden.
Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen bietet die PPA-Beschreibung vom Benutzer/Team conkyhardcore.
Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.
Folgende Pakete können nun nach Bedarf installiert werden [4]:
conkypidgin (ppa, Informationen der Pidgin Buddy-Liste abrufen)
conkybanshee (ppa, Banshee Anzeige)
conkyexaile (ppa, Exaile Anzeige)
conkygooglereader (ppa, Google Reader Skript (RSS))
conkydeluge (ppa Deluge Torrent Anzeige)
conkygooglecalendar (ppa, Google Kalendar Skript zur Anzeige von Ereignissen)
conkyrhythmbox (ppa, Rhythmbox Anzeige)
conkyemail (ppa, E-Mail-Eingangs-Zähler mit ssl-Unterstützung)
conkytext (ppa, "Delimited text file formatting" über eine Vorlage)
conkyforecast (ppa, Forecast Wetter Skript mit Unterstützung für Sprache-Dateien)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install conkypidgin conkybanshee conkyexaile conkygooglereader conkydeluge conkygooglecalendar conkyrhythmbox conkyemail conkytext conkyforecast
sudo aptitude install conkypidgin conkybanshee conkyexaile conkygooglereader conkydeluge conkygooglecalendar conkyrhythmbox conkyemail conkytext conkyforecast
Die Einstellungen für Conky können den Beispielen unter /usr/share/conkySKRIPTNAME/examples/ entnommen werden.
imagemagick-kalendar - Skript, das mit ImageMagick einen Monatskalendar als Bild erzeugt
Conky weather scripts - diverse Wetteranzeigen, 04/2012
Googlemail und Conky - Blogbeitrag, 03/2009
Conky Hauptartikel