ubuntuusers.de

Skripte

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Über das Element ${execi SEKUNDEN BEFEHL} lassen sich in der Conky-Konfiguration Befehle, Skripte oder Einzeiler wiederholt ausführen, deren Ausgabe dann von Conky angezeigt wird. Conky ist dadurch 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. Beispiele für die Ergebnisse zeigt der Artikel Conky Manager.

Kalender

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'/}}

Quelle: Conky Calendar with Date Highlight 🇬🇧

Öffentliche IP

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://ip4.ident.me/

  • http://ip6.ident.me/

  • 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}

Einfachere Möglichkeit

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 -}

Einbinden von vnStat

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)

Paketliste zum Kopieren:

sudo apt-get install vnstat 

Oder mit apturl installieren, Link: apt://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

Anzeige verfügbarer Updates

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

Diese Revision wurde am 18. Juni 2020 21:37 von ubot erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: System, Kommunikation, Multimedia, Desktop