ubuntuusers.de

Conky

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


Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

./logo.png Conky 🇬🇧 ist ein vielseitiger Systemmonitor für den Desktop. Neben Statistiken zu allen denkbaren Ressourcen wie Prozessor-, Speicher- und Netzwerk-Auslastung bringt Conky Email-Benachrichtigungen und Titelanzeigen für den Music Player Daemon und verschiedene Audioplayer auf den Desktop. Die Funktionen von Conky sind zusätzlich durch Skripte erweiterbar.

Conky ist als Fork auf der Codebasis des Programms Torsmo 🇬🇧 entstanden und ist bekannt als besonders ressourcenschonender Systemmonitor, der individuell konfigurierbar ist.

Durch die Vielzahl der Funktionen kann Conky bei entsprechenden Einstellungen aber auch einen großen Teil der Systemressourcen belegen; insbesondere die Variablen zum Einfügen von Log-Dateien ($tail), zur Prozess-Auflistung ($top), Schrift-Einstellung ($font) und für Graphen ($graph) verursachen relativ hohe Last.

./cpu.png

Conky ist häufig Bestandteil des Desktops bei Linux-Distributionen, die mit schlanken Fenstermanagern wie Fluxbox arbeiten, da Conky die Ausgaben direkt in das Root-Fenster schreiben kann. Da aber auch die Möglichkeit besteht, Conky in einem eigenen Fenster laufen zu lassen, das undekoriert und transparent ist, stellt eine direkte Anzeige auf dem Desktop auch unter Xfce kein Problem dar. Für den GNOME- und KDE-Desktop gibt es Hilfsmittel, damit die Anzeige trotz technischer Hindernisse gelingt.

Installation

Conky kann als Paket aus den Ubuntu-Quellen installiert werden.

Es stehen drei verschiedene Pakete zur Auswahl, von denen nur eines installiert [1] werden kann, da die Pakete einander ausschließen:

Conky-Pakete
Mit den meisten Funktionen Standard-Funktionen Basispaket
  • conky-all (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install conky-all 

Oder mit apturl installieren, Link: apt://conky-all

  • conky-std (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install conky-std 

Oder mit apturl installieren, Link: apt://conky-std

  • conky-cli (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install conky-cli 

Oder mit apturl installieren, Link: apt://conky-cli

Desktopversion mit Unterstützung (fast) aller optionalen KomponentenDesktopversion mit den meistgebräuchlichen KomponentenBasisversion für Systeme ohne Desktop (keine grafische Ausgabe)

Das Paket conky ist nur noch ein Dummy-Paket für Upgrades älterer Ubuntu-Versionen und kann nach dem Upgrade sicher entfernt werden. Es wurde durch das Paket conky-all ersetzt.

Benutzung

Zunächst sollte eine (versteckte) Konfigurationsdatei .conkyrc im Homeverzeichnis des Benutzers erstellt werden.[2] Hierzu kann als Ausgangspunkt die System-weite Konfigurationsdatei /etc/conky/conky.conf kopiert werden.

Weitere Beispiel-Konfigurationen mit Bildschirmfoto, Konfigurationsdatei und zusätzlichen Skripten findet man auf der Projektseite 🇬🇧 und in verschiedenen Foren-Threads.

Conky kann nun über den Befehl "conky" gestartet werden [3], sofern nicht noch die Konfigurationsdatei ~/.conkyrc angepasst werden soll.

Nach einer Änderung an der Konfigurations-Datei startet sich "conky" bei neueren Versionen automatisch neu. Mit älteren Versionen von "conky" kann folgender Befehl [4] zum Neustarten verwendet werden:

killall -SIGUSR1 conky 

Will man das Conky automatisch mit dem System startet, hilft der Artikel Autostart. Eventuell ist auch der Abschnitt Autostart verzögern zu beachten.

Startparameter

./beispiel2.png
Ein Conky Beispiel
.conkyrc, Public-IP-Skript

Dem Befehl conky können verschiedene Startparameter mitgegeben werden, deren Funktionen jedoch größten Teils auch über Konfigurationsdateien genutzt werden können.

ParameterArgumentFunktion
-v, -V Versionsangabe anzeigen und beenden
-aAusrichtungAusrichtung auf dem Bildschirm, top/bottom, left/right oder none
-b double buffering benutzen
-cDateiKonfigurationsdatei, die statt der ~/.conkyrc benutzt werden soll
-d "Daemonize". Conky im Hintergrund ausführen.
-fSchriftartSchriftart setzen
-h Hilfe anzeigen und beenden
-o Conky im eigenen Fenster starten
-tText, Variablen Text der angezeigt wird. Hochkommata setzen (z.B. -t ’ $uptime ’)!
-uSekundenUpdate-Intervall der Anzeige
-wFenster-IDFenster, in das die Anzeige geschrieben wird.
-xX-KoordinateX-Position der Anzeige
-yY-KoordinateY-Position der Anzeige

Konfiguration

Die Konfigurationsdatei ~/.conkyrc besteht aus zwei Teilen: im ersten Teil werden Programm-Einstellungen festgelegt, im zweiten Teil, was auf dem Desktop angezeigt wird. Der zweite Teil wird mit einer Zeile eingeleitet, die nur den Begriff TEXT enthält. Neben der nachfolgend beschriebenen manuellen Konfiguration kann ein grafischer Conky Manager Einsteigern viel Arbeit abnehmen. Sprich: schicke Designs brauchen nur ausgewählt zu werden. Erst wenn Probleme auftauchen oder man Details ändern möchte, wird die manuelle Konfiguration wieder interessant.

Die ~/.conkyrc wird in der Syntax von Lua erstellt.

Einstellungen

In folgender Tabelle sind nur einige Einstellungen aufgeführt, alle verfügbaren Möglichkeiten sind in der Projekt-Dokumentation zu finden. Bei Variablen, denen ein Wahrheitswert zugewiesen wird, sind die Angaben true oder false und yes oder no möglich.

VariableVerwendung
alignmentAusrichtung auf dem Bildschirm, mögliche Werte sind top_left, top_right, bottom_left, bottom_right, middle_left, middle_middle, middle_right und none (Abkürzungen: tl,tr,bl,br,ml,mm,mr)
gap_xLinker oder rechter Abstand in Pixeln von der Position, die über alignment festgelegt wurde.
gap_yOberer oder unterer Abstand in Pixeln von der Position, die über alignment festgelegt wurde.
maximum_widthMaximale Breite des Fensters
minimum_sizeMinimale Breite des Fensters
own_windowEigenes Fenster benutzen (true/false). Voraussetzung für gleichzeitigen Gebrauch von Conky und Nautilus.
own_window_colourWenn kein transparenter Hintergrund verwendet wird, kann eine Hintergrund-Farbe gewählt werden. Möglich sind Hexadezimalwerte (z.B. #ffffff) oder RGB-Farbnamen (siehe /usr/lib/X11/rgb.txt)
own_window_hintsVerhalten des Fensters (undecorated, above|below, sticky, skip_taskbar, skip_pager).
own_window_titleManuelles Setzen des Fensternamens. Standard ist <hostname> - conky.
own_window_transparent(Pseudo-) Transparenter Hintergrund (true/false).
own_window_typeArt des Fensters. normal (Standard), desktop (keine Fensterdekoration, Sticky auf allen Arbeitsflächen, nicht im Pager aufgeführt) oder override (wird nicht durch den Fenstermanager kontrolliert), und panel.
draw_bordersRahmen um Text.
draw_graph_bordersRahmen um Graphen.
border_inner_marginRahmen-Abstand in Pixeln.
border_widthRahmen-Breite in Pixeln.
stippled_bordersAbstände gestrichelter Rahmen gemessen in Pixeln.
default_colorStandard Text- und Rahmen-Farbe.
fontSchriftart
uppercaseVerwende nur Großbuchstaben (true/false)
use_xftBenutze Xft (Anti-Aliasing für Schrift etc.)
xftalphaAlpha-Wert der Xft-Schriftart. Muss ein Wert zwischen 1 und 0 sein.
xftfontXft Schriftart, die verwendet werden soll.
use_spacerSetzt Abstände hinter bestimmte Objekte, damit diese andere nicht verschieben. Dies funktioniert nur mit Mono-Schriften wie "Bitstream Vera Sans Mono" (left/right/none).
double_bufferBenutzen des dbe-Modul des XServer (beseitigt Flackern). Es wird dringend empfohlen, dies nur zu verwenden, wenn Conky in einem eigenen Fenster läuft, damit der Buffer nicht zu groß wird.
total_run_timesGesamtzahl der Updates bis Conky beendet wird. Mit dem Wert 0 läuft Conky endlos.
update_intervalZeitabstand zwischen Auffrischungen der Anzeige in Sekunden
imapStandard IMAP-Mailserver. Argumente sind: host user pass [-i interval] [-f folder] [-p port] [-e command]. Standard-Port ist 143, Standard-Ordner ist INBOX, Standard-Intervall ist 5 Minuten. Wird als Passwort ein * verwendet, wird das Passwort beim Start von Conky abgefragt.
mail_spoolMail-Spool für die Email-Eingangsprüfung
pop3Standard POP3-Mailserver. Argumente sind: host user pass [-i interval] [-p port] [-e command]. Standard-Port ist 110, Standard-Intervall ist 5 Minuten. Wird als Passwort ein * verwendet, wird das Passwort beim Start von Conky abgefragt.
TEXTDanach beginnt die Eingabe von Variablen und Text für die Anzeige

Anzeige

Die Anzeige wird vom TEXT-Abschnitt bestimmt; in folgender Tabelle sind nur einige Variablen aufgeführt, alle verfügbaren Möglichkeiten sind in der Projekt-Dokumentation 🇬🇧 zu finden. In einem weiteren Artikel werden einige Audio-Anzeigen erläutert.

./ustudio.png
Conky im Ubuntu Studio-Look
.conkyrc, Public-IP-Skript

VariableArgumenteVerwendung
kernel Kernelversion
timez.B.: ${time %a %d. %b %k:%M} Datum und Uhrzeit (im Beispiel: "Di 30. Okt 21:58")
uptime Laufzeit des Rechners
acpitemp Temperatur des Prozessors
cpu Prozessor-Auslastung in Prozent
cpubarLänge in PixelnCPU-Auslastung als Leisten dargestellt
freq aktuelle Taktfrequenz des Prozessors
mem Verwendeter Arbeitsspeicher
membarLänge in PixelnSpeicher-Auslastung als Leisten dargestellt
memperc Speicher-Auslastung in Prozent
memmax Speichermenge
swap Verwendeter Swap-Speicher
swapbarLänge in PixelnSwap-Speicher-Auslastung als Leisten dargestellt
swapperc Swap-Speicher-Auslastung in Prozent
swapmax Swap-Speichermenge
addrInterface, z.B. eth0Anzeige der IP-Adresse für Netzwerkinterface
wireless_link_qual_percInterface, z.B. ath0Signalstärke bei Wireless LAN
downspeedInterface, z.B. eth0Download-Geschwindigkeit in kbyte/s
downspeedfInterface, z.B. eth0Download-Geschwindigkeit in kbyte/s mit einer Dezimalstelle
downspeedgraphInterface Höhe in Pixeln,Breite in Pixeln, z.B eth0 32,120Download-Geschwindigkeit als Graph
upspeedInterface, z.B. eth0Upload-Geschwindigkeit in kbyte/s
upspeedfInterface, z.B. eth0Upload-Geschwindigkeit in kbyte/s mit einer Dezimalstelle
upspeedgraphInterface Höhe in Pixeln,Breite in Pixeln, z.B eth0 32,120Upload-Geschwindigkeit als Graph
wireless_apInterface, z.B. ath0 oder wlan0MAC-Adresse des AP
wireless_bitrateInterface, z.B. ath0 oder wlan0Bitrate der Verbindung
wireless_essidInterface, z.B. ath0 oder wlan0Essid des AP
wireless_modeInterface, z.B. ath0 oder wlan0Mode der Schnittstelle
wireless_link_barHöhe in Pixeln Interface, z.B 8 ath0Signalstärke als Leiste dargestellt
wireless_link_qualInterface, z.B. ath0 oder wlan0Signalstärke in Prozent
acpiacadapter Rechner am Stromnetz oder Batterie
batteryAkku, z.B. BAT0Status der Batterie (Standard ist BAT0)
fs_sizeMountpoint, z.B. /dev/sda1Größe einer Partition
fs_usedMountpoint, z.B. /dev/sda1Verbrauchter Speicherplatz einer Partition
fs_freeMountpoint, z.B. /dev/sda1Freier Speicherplatz einer Partition
execBefehlAusführen eines beliebigen Befehls
execiIntervall BefehlAusführen eines Befehls in einem bestimmten Intervall (Sekunden)
if_runningProzessWenn ein Prozess existiert; Abschluss mit $endif
if_existingDateiWenn eine Datei existiert; Abschluss mit $endif
if_mountedMountpoint, z.B. /media/usb0Wenn ein Datenträger eingehangen ist; Abschluss mit $endif

Diagramme

./net.png Conky kann für verschiedene System-Ressourcen Diagramme in Form von Leisten und Graphen darstellen. Als Beispiel dient hier die Auslastung der Netzwerkkarte eth0. Bei einem Graphen für die Netzwerk-Auslastung müssen das Interface (eth0), Höhe und Breite (32,120), die Gradienten-Farben (efefef, 171717) und optional die Skalierung (2) angegeben werden.

Down: ${downspeedf eth0} k/s ${offset 80}Up: ${upspeedf eth0} k/s
${downspeedgraph eth0 32,120 efefef 171717 2} ${offset 40} ${upspeedgraph eth0 32,120 efefef 171717 2}

Bilder

Conky unterstützt das Einbinden von Bildern (nur das Paket conky-all).

${image /home/user/beispielbild.png}

Zusätzlich kann die Position gemessen von der rechten oberen Ecke mit -p x,y und eine Skalierung mit -s BREITExHÖHE angegeben werden. Zum Beispiel:

${image /home/user/beispielbild.png -p 20,20 -s 200x300}

Mit dem Paramter -f INTERVALL lässt sich ein Intervall für die Zwischenspeicherung festlegen und mit -n wird das Bild gar nicht zwischengespeichert. Bilder können mit $execp $lua_parse und anderen Methoden zur Laufzeit verändert werden, was in diesem Artikel aber nicht behandelt wird.

Textformatierung

Der Text kann in Ausrichtung, Format und Farbe unterschiedlich gestaltet werden. Dazu wird einer Variablen ein Wert zugewiesen, der erst aufgehoben wird, wenn die Variable ohne Argument neu genannt wird.

${color #009bf9} Farbiger Text $color Text in Standard-Farbe

Bei diesem Beispiel wurde eine Farbe (#009bf9) für den Text gewählt und anschließend wieder auf den Standard ($color) zurückgesetzt. Es gibt viele weitere Formatierungsmöglichkeiten, beispielsweise folgende:

VariableVerwendung
offset XAbstand von X Pixeln zwischen zwei Elementen
alignrRechtsbündiger Text
aligncZentrierter Text
font Monospace:size=8Schriftart und -größe festlegen

Problemlösungen

Conky Konfiguration: alte und neue Syntax

Seit der Conky-Version 1.10 (für Ubuntu 18.04 und neuer in den Paketquellen) ist die Syntax der Konfigurationsdatei .conkyrc geändert. Conky verwendet jetzt Lua Datentypen und zwar Table 🇬🇧, zu erkennen an den geschweiften Klammer {} für Einstellungen und Strings 🇬🇧, zu erkennen an den doppelten eckigen Klammer, für Text. Zudem wurden einige Variablen entfernt. Dateien, die in der alten Syntax mit den neueren Conky-Versionen verwendet werden, können von conky nicht richtig interpretiert werden.

Beispiel, welches für einen 1 cm breiten Rahmen sorgt, die XFT-Bibliothek einbindet und den Linux-Kernel ausgibt.

Alte Syntax:

1
2
3
4
5
border_width 1
use_xft yes 

TEXT 
$kernel

Die selbe Konfiguration mit neuer Syntax:

1
2
3
4
5
6
7
conky.config = {
border_width = 1, 
use_xft = true, 
};
conky.text = [[
$kernel
]]

Die neuen Standard-Konfigurationen von Conky (diese werden in /etc/conky/conky.conf oder ~/.conkyrc bei Installation von conky erstellt) sind ebenfalls in dieser Syntax geschrieben, so dass man diese dort nachprüfen kann.

Für diejenigen, welche ihre alte Syntax in die Neue konvertieren möchten, gibt es im Wiki von Conky ein Lua-Skript, welches diese Aufgabe übernimmt.

Intern

Extern

IRC

  • #conky 🇬🇧 - IRC-Channel auf freenode

Foren

Es gibt einige Foren, in denen Benutzer ihre Conky-Einstellungen mit Bildschirmfoto für andere Benutzer veröffentlichen:

Diese Revision wurde am 2. August 2022 09:01 von karzer erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Desktop, Multimedia, Kommunikation, System