[[Vorlage(Getestet, bionic, focal)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Editor: Einen Editor öffnen] [:Programme_starten: Ein Programm starten] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(2)]] [[Bild(./logo.png, 48, align=left)]] [github:brndnmtthws/conky:Conky] {en} 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 [:Conky/Audio-Anzeigen:Titelanzeigen] für den [:MPD:Music Player Daemon] und verschiedene Audioplayer auf den Desktop. Die Funktionen von Conky sind zusätzlich durch [:Conky/Skripte:Skripte] erweiterbar. Conky ist als Fork auf der Codebasis des Programms [sourceforge2:torsmo:Torsmo] {en} 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. [[Bild(./cpu.png, align=right)]] Conky ist häufig Bestandteil des Desktops bei Linux-Distributionen, die mit schlanken [:Fenstermanager: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 [:Conky/Problembehebung: 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: ||<-3 rowclass="titel"> Conky-Pakete || || Mit den meisten Funktionen || <:> Standard-Funktionen || <:> Basispaket || || {{{#!vorlage Paketinstallation conky-all, universe }}} || {{{#!vorlage Paketinstallation conky-std, universe }}} || {{{#!vorlage Paketinstallation conky-cli, universe }}} || ||Desktopversion mit Unterstützung (fast) aller optionalen Komponenten||Desktopversion mit den meistgebräuchlichen Komponenten||Basisversion 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 [github:brndnmtthws/conky/wiki:Projektseite] {en} und in verschiedenen [#Foren 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: {{{#!vorlage Befehl killall -SIGUSR1 conky }}} Will man das Conky automatisch mit dem System startet, hilft der Artikel [:Autostart:]. Eventuell ist auch der Abschnitt [:/Autostart#Autostart-verzoegern: Autostart verzögern] zu beachten. == Startparameter == || [[Bild(./beispiel2.png, align=right)]]|| ||Ein Conky Beispiel|| ||[attachment:Conky/beispiel2rc.txt:.conkyrc], [:Conky/Skripte#ffentliche-IP: 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. ||Parameter||Argument||Funktion|| ||``-v``, ``-V``|| ||Versionsangabe anzeigen und beenden|| ||``-a``||Ausrichtung||Ausrichtung auf dem Bildschirm, ``top``/``bottom``, ``left``/``right`` oder ``none``|| ||``-b``|| ||double buffering benutzen|| ||``-c``||Datei||Konfigurationsdatei, die statt der '''~/.conkyrc''' benutzt werden soll|| ||``-d ``|| ||"''Daemonize''". Conky im Hintergrund ausführen.|| ||``-f``||Schriftart||Schriftart setzen|| ||``-h``|| ||Hilfe anzeigen und beenden|| ||``-o``|| ||Conky im eigenen Fenster starten|| ||``-t``||Text, Variablen || Text der angezeigt wird. Hochkommata setzen (z.B. ``-t ’ $uptime ’``)!|| ||``-u``||Sekunden||Update-Intervall der Anzeige|| ||``-w``||Fenster-ID||Fenster, in das die Anzeige geschrieben wird.|| ||``-x``||X-Koordinate||X-Position der Anzeige|| ||``-y``||Y-Koordinate||Y-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 [github:brndnmtthws/conky/wiki/Configuration-Settings:Projekt-Dokumentation] zu finden. Bei Variablen, denen ein Wahrheitswert zugewiesen wird, sind die Angaben ``true`` oder ``false`` und ``yes`` oder ``no`` möglich. ||Variable||Verwendung|| ||``alignment``||Ausrichtung 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_x``||Linker oder rechter Abstand in Pixeln von der Position, die über ``alignment`` festgelegt wurde.|| ||``gap_y``||Oberer oder unterer Abstand in Pixeln von der Position, die über ``alignment`` festgelegt wurde.|| ||<-2 rowclass="trennzeile">|| ||``maximum_width``||Maximale Breite des Fensters|| ||``minimum_size``||Minimale Breite des Fensters|| ||``own_window``||Eigenes Fenster benutzen (``true``/``false``). Voraussetzung für gleichzeitigen Gebrauch von Conky und Nautilus.|| ||``own_window_colour``||Wenn 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_hints``||Verhalten des Fensters (``undecorated``, ``above|below``, ``sticky``, ``skip_taskbar``, ``skip_pager``).|| ||``own_window_title``||Manuelles Setzen des Fensternamens. Standard ist `` - conky``.|| ||``own_window_transparent``||(Pseudo-) Transparenter Hintergrund (``true``/``false``).|| ||``own_window_type``||Art 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``.|| ||``own_window_argb_visual``||versieht Hintergrund mit echter Transparenz (ARGB) (``true``/``false``). Dazu muss ein Composite-Manager aktiv sein. Funktioniert möglicherweise nicht richtig, wenn ``own_window_type`` auf ``override`` gesetzt ist.|| ||``own_window_argb_value``||alpha-Wert der Transparenz. Werte von ``0`` (transparent) bis ``255`` (deckend).|| ||<-2 rowclass="trennzeile">|| ||``draw_borders``||Rahmen um Text.|| ||``draw_graph_borders``||Rahmen um Graphen.|| ||``border_inner_margin``||Rahmen-Abstand in Pixeln.|| ||``border_width``||Rahmen-Breite in Pixeln.|| ||``stippled_borders``||Abstände gestrichelter Rahmen gemessen in Pixeln.|| ||<-2 rowclass="trennzeile">|| ||``default_color``||Standard Text- und Rahmen-Farbe.|| ||``font``||Schriftart|| ||``uppercase``||Verwende nur Großbuchstaben (``true``/``false``)|| ||``use_xft``||Benutze Xft (Anti-Aliasing für Schrift etc.)|| ||``xftalpha``||Alpha-Wert der Xft-Schriftart. Muss ein Wert zwischen ``1`` und ``0`` sein.|| ||``xftfont``||Xft Schriftart, die verwendet werden soll.|| ||``use_spacer``||Setzt Abstände hinter bestimmte Objekte, damit diese andere nicht verschieben. Dies funktioniert nur mit Mono-Schriften wie "''Bitstream Vera Sans Mono''" (``left``/``right``/``none``).|| ||<-2 rowclass="trennzeile">|| ||``double_buffer``||Benutzen 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_times``||Gesamtzahl der Updates bis Conky beendet wird. Mit dem Wert ``0`` läuft Conky endlos.|| ||``update_interval``||Zeitabstand zwischen Auffrischungen der Anzeige in Sekunden|| ||<-2 rowclass="trennzeile">|| ||``imap``||Standard 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_spool``||Mail-Spool für die Email-Eingangsprüfung|| ||``pop3``||Standard 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.|| ||<-2 rowclass="trennzeile">|| ||``TEXT``||Danach 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 [github:brndnmtthws/conky/wiki/Configurations:Projekt-Dokumentation] {en} zu finden. In einem weiteren Artikel werden einige [:Conky/Audio-Anzeigen:Audio-Anzeigen] erläutert. || [[Bild(./ustudio.png, align=right)]]|| ||Conky im [:Ubuntu_Studio:Ubuntu Studio]-Look|| ||[attachment:Conky/beispielrc.txt:.conkyrc], [:Conky/Skripte#ffentliche-IP: Public-IP-Skript]|| ||Variable||Argumente||Verwendung|| ||``kernel``|| ||Kernelversion|| ||``time``||z.B.: ``${time %a %d. %b %k:%M}``|| Datum und Uhrzeit (im Beispiel: "''Di 30. Okt 21:58''")|| ||``uptime``|| ||Laufzeit des Rechners|| ||<-3 rowclass="trennzeile">|| ||``acpitemp``|| ||Temperatur des Prozessors|| ||``cpu``|| ||Prozessor-Auslastung in Prozent|| ||``cpubar``||Länge in Pixeln||CPU-Auslastung als Leisten dargestellt|| ||``freq``|| ||aktuelle Taktfrequenz des Prozessors|| ||<-3 rowclass="trennzeile">|| ||``mem``|| ||Verwendeter Arbeitsspeicher|| ||``membar``||Länge in Pixeln||Speicher-Auslastung als Leisten dargestellt|| ||``memperc``|| ||Speicher-Auslastung in Prozent|| ||``memmax``|| ||Speichermenge|| ||<-3 rowclass="trennzeile">|| ||``swap``|| ||Verwendeter Swap-Speicher|| ||``swapbar``||Länge in Pixeln||Swap-Speicher-Auslastung als Leisten dargestellt|| ||``swapperc``|| ||Swap-Speicher-Auslastung in Prozent|| ||``swapmax``|| ||Swap-Speichermenge|| ||<-3 rowclass="trennzeile">|| ||``addr``||Interface, z.B. ``eth0``||Anzeige der IP-Adresse für Netzwerkinterface|| ||``wireless_link_qual_perc``||Interface, z.B. ``ath0``||Signalstärke bei Wireless LAN|| ||``downspeed``||Interface, z.B. ``eth0``||Download-Geschwindigkeit in kbyte/s|| ||``downspeedf``||Interface, z.B. ``eth0``||Download-Geschwindigkeit in kbyte/s mit einer Dezimalstelle|| ||``downspeedgraph``||Interface Höhe in Pixeln,Breite in Pixeln, z.B ``eth0 32,120``||Download-Geschwindigkeit als Graph|| ||``upspeed``||Interface, z.B. ``eth0``||Upload-Geschwindigkeit in kbyte/s|| ||``upspeedf``||Interface, z.B. ``eth0``||Upload-Geschwindigkeit in kbyte/s mit einer Dezimalstelle|| ||``upspeedgraph``||Interface Höhe in Pixeln,Breite in Pixeln, z.B ``eth0 32,120``||Upload-Geschwindigkeit als Graph|| ||``wireless_ap``||Interface, z.B. ``ath0`` oder ``wlan0``||MAC-Adresse des AP|| ||``wireless_bitrate``||Interface, z.B. ``ath0`` oder ``wlan0``||Bitrate der Verbindung|| ||``wireless_essid``||Interface, z.B. ``ath0`` oder ``wlan0``||Essid des AP|| ||``wireless_mode``||Interface, z.B. ``ath0`` oder ``wlan0``||Mode der Schnittstelle|| ||``wireless_link_bar``||Höhe in Pixeln Interface, z.B ``8 ath0``||Signalstärke als Leiste dargestellt|| ||``wireless_link_qual``||Interface, z.B. ``ath0`` oder ``wlan0``||Signalstärke in Prozent|| ||<-3 rowclass="trennzeile">|| ||``acpiacadapter``|| ||Rechner am Stromnetz oder Batterie|| ||``battery``||Akku, z.B. ``BAT0``||Status der Batterie (Standard ist ``BAT0``)|| ||<-3 rowclass="trennzeile">|| ||``fs_size``||Mountpoint, z.B. ``/dev/sda1``||Größe einer Partition|| ||``fs_used``||Mountpoint, z.B. ``/dev/sda1``||Verbrauchter Speicherplatz einer Partition|| ||``fs_free``||Mountpoint, z.B. ``/dev/sda1``||Freier Speicherplatz einer Partition|| ||<-3 rowclass="trennzeile">|| ||``exec``||Befehl||Ausführen eines beliebigen Befehls|| ||``execi``||Intervall Befehl||Ausführen eines Befehls in einem bestimmten Intervall (Sekunden)|| ||<-3 rowclass="trennzeile">|| ||``if_running``||Prozess||Wenn ein Prozess existiert; Abschluss mit ``$endif``|| ||``if_existing``||Datei||Wenn eine Datei existiert; Abschluss mit ``$endif``|| ||``if_mounted``||Mountpoint, z.B. ``/media/usb0``||Wenn ein Datenträger eingehangen ist; Abschluss mit ``$endif``|| === Diagramme === [[Bild(./net.png, align=right)]] 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: ||Variable||Verwendung|| ||``offset X``||Abstand von X Pixeln zwischen zwei Elementen|| ||``alignr``||Rechtsbündiger Text|| ||``alignc``||Zentrierter Text|| ||``font Monospace:size=8``||Schriftart 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 [https://www.lua.org/pil/2.5.html Table] {en}, zu erkennen an den geschweiften Klammer `{}` für Einstellungen und [http://lua-users.org/wiki/StringsTutorial Strings] {en}, 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: {{{#!code border_width 1 use_xft yes TEXT $kernel }}} Die selbe Konfiguration mit neuer Syntax: {{{#!code 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 [github:brndnmtthws/conky/wiki/Configurations#syntax:Wiki] von Conky ein Lua-Skript, welches diese Aufgabe übernimmt. = Links = == Intern == * [:Conky/Skripte:] - externe Skripte einbinden * [:Conky/Audio-Anzeigen:] * [:Conky/Problembehebung:] * [:Conky_Manager:] == Extern == * [github:brndnmtthws/conky:Projektseite] {en} * [ubuntu_fr:conky:Conky unter Ubuntu] * [http://conky.sourceforge.net/variables.html Liste aller Conky-Variablen] {en} * [http://www.howtoforge.de/howto/anzeigen-von-systemangaben-auf-deinem-desktop-mit-conky-system-monitor-auf-ubuntu-704/ Conky-Anleitung] {de} - howtoforge.de, 11/2007 * [http://www.freiesmagazin.de/freiesMagazin-2007-07 Conky – der kleine Systemmonitor] {de} - FreiesMagazin, 07/2007 * [http://evilshit.wordpress.com/2013/04/20/conkypress-a-wordpress-stats-visualization-tool-for-your-desktop/ ConkyPress] {en} - Extension um Wordpress blog Statistiken in Conky darzustellen == IRC == * [irc://chat.freenode.org/conky #conky] {en} - IRC-Channel auf freenode == Foren == Es gibt einige Foren, in denen Benutzer ihre Conky-Einstellungen mit Bildschirmfoto für andere Benutzer veröffentlichen: * [topic:sammelthread-zeig-mir-deine-.conkyrc:ubuntuusers.de] * [https://ubuntuforums.org/showthread.php?t=281865 ubuntuforums.org] {en} * [http://forum.ubuntu-fr.org/viewtopic.php?pid=792133 ubuntu-fr] {fr} * [http://debianforum.de/forum/viewtopic.php?f=29&t=115987 debianforum] {de} # tag: Kommunikation, Multimedia, System, Desktop