ubuntuusers.de » Wiki » Conky

Conky

Achtung!

Diese Seite wird aktuell von cornix überarbeitet. Bitte hier keine Änderungen mehr vornehmen, sondern in Baustelle/Conky!

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

logo.png

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 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 Programm Torsmo {en} entstanden und ist als besonders Ressourcen-schonender Systemmonitor, der individuell konfigurierbar ist, bekannt.

Durch die Vielzahl der Funktionen kann Conky aber auch bei entsprechenden Einstellungen 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.

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

cpu.png

Paket

Folgendes Paket muss installiert werden [1]:

  • conky (universe, [2])

Kompilieren

In der Standard-Konfiguration, die auch für das Paket aus den offiziellen Quellen genutzt wurde, stehen nicht alle Funktionen zur Verfügung. Um beispielsweise Anzeigen des Audacious-Audioplayer zu benutzen, muss das Programm mit entsprechenden Parametern kompiliert werden. Da Conky in den Quellen enthalten ist, ist dies sehr leicht mit apt-get zu bewerkstelligen.

Die folgenden Schritte setzten Root-Rechte voraus. Man installiert die Abhängigkeiten und lädt den Quellcode von Conky:

cd /tmp
apt-get build-dep conky
apt-get source conky 

Stattdessen kann natürlich auch die aktuelle Version von der Projektseite {dl} benutzt werden und die Abhängigkeiten können auch auf anderem Wege installiert werden. Es handelt sich dabei um folgende Pakete:

  • libx11-dev

  • libxext-dev

  • libxft-dev

  • x-dev

  • libxt-dev

  • libxdamage-dev

  • libglib2.0-dev

  • libxml2-dev

  • libcurl4-gnutls-dev

  • libiw-dev

Paketliste zum Kopieren:

sudo apt-get install libx11-dev libxext-dev libxft-dev x-dev libxt-dev libxdamage-dev libglib2.0-dev libxml2-dev libcurl4-gnutls-dev libiw-dev 

sudo aptitude install libx11-dev libxext-dev libxft-dev x-dev libxt-dev libxdamage-dev libglib2.0-dev libxml2-dev libcurl4-gnutls-dev libiw-dev 

Anschließend wechselt man in den Ordner mit dem Quellcode und kompiliert das Programm mit den gewünschten Optionen [7]. In diesem Beispiel wird die standardmäßig deaktivierte Unterstützung des Audacious-Audioplayers aktiviert. Alle verfügbaren Optionen können mit dem Befehl ./configure --help abgefragt werden.

cd conky-<Version>/
./configure --enable-audacious
make
checkinstall 

Anschließend kann das erstellte Debian-Paket gesichert werden (z.B. falls es auf weiteren Rechnern benutzt werden soll) und das /tmp-Verzeichnis aufgeräumt werden.

Benutzung

Zunächst sollte eine (versteckte) Konfigurationsdatei .conkyrc im Homeverzeichnis des Benutzers erstellt werden. Es bietet sich an, die Beispieldatei aus der Dokumentation zu entpacken [3] und umzubenennen. Seit Ubuntu Intrepid Ibex 8.10 kann das beispielsweise im Terminal mit folgendem Befehl [4] geschehen:

zcat /usr/share/doc/conky/examples/conky.conf.gz > ~/.conkyrc 

In den früheren Paket Versionen hat sich der Pfad ein wenig geändert und deswegen sieht der Befehl wie folgt aus:

zcat /usr/share/doc/conky/examples/conkyrc.sample.gz > ~/.conkyrc 

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

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

Um nach einer Änderung an der .conkyrc Conky neu zu starten, kann folgender Befehl verwendet werden:

killall -SIGUSR1 conky 

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 setzten
-h Hilfe anzeigen und beenden
-o Conky im eigenen Fenster starten
-tText, Variablen Text der angezeigt wird. Hochkommata setzten (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.

Einstellungen

In folgender Tabelle sind nur einige Einstellungen aufgeführt, alle verfügbaren Möglichkeiten sind in der Projekt-Dokumentation {en} 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 und none
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 Hexadecimalwerte (z.B. #ffffff) oder RGB-Farbnamen (siehe /usr/lib/X11/rgb.txt)
own_window_hintsVerhalten des Fensters (undecorated, 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).
draw_bordersRahmen um Text.
draw_graph_bordersRahmen um Graphen.
border_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".
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 {en} zu finden.

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
swabperc Swap-Speicher-Auslastung in Prozent
swabmax Swap-Speichermenge
addrInterface, z.B. eth0Anzeige der IP-Adresse für Netzwerkinterface
linkstatusInterface, 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 %
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}

Textformatierung

Der Text kann in Ausrichtung, Format und Farbe unterschiedlich gestaltet werden. Dazu wird einer Variablen ein Wert zu gewiesen, 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

Audio-Anzeigen

Conky kann von einigen Audioplayern Daten auf dem Desktop anzeigen. Der Umfang der Anzeigen ist je nach Audioplayer unterschiedlich. Anzeigen für den Music Player Daemon und einige schlanke Audioplayer werden von Haus aus unterstützt, für weitere Audioplayer gibt es Skripte.

MPD

Conky kann ohne zusätzlich Skripte viele Daten des Music Player Daemon auslesen.

Einstellungen

Im Konfigurationsabschnitt der .conkyrc müssen dafür die Verbindungsdaten zum MPD-Server angegeben werden:

mpd_host HOSTNAME       #z.B.: localhost
mpd_port PORT       #Standard: 6600
mpd_password PASSWORT   #kann man weglassen, wenn keine Passwort benötigt wird

Anzeige

Folgendes Beispiel eines TEXT-Abschnittes für MPD-Anzeigen setzt natürlich einen Konfigurationsabschnitt mit korrekten Verbindungsdaten voraus.

TEXT
Artist: ${mpd_artist}
Album:  ${mpd_album}
Titel:  ${mpd_title}
${mpd_bar 5,200}
${mpd_elapsed}/${mpd_length} - ${mpd_bitrate} kBit/s
Status: ${mpd_status}
Volume: ${mpd_vol}%
Random/Repeat: ${mpd_random}/${mpd_repeat}

Im TEXT-Abschnitt können weitere Variablen genutzt werden, die den MPD betreffen: mpd.png

VariableVerwendung
mpd_artist Artist des laufenden Titels
mpd_albumAlbum des laufenden Titels
mpd_bar (Höhe),(Breite) MPD-Prozess-Bar
mpd_bitrateBitrate des laufenden Titels
mpd_statusMPD-Status: Playing, stopped, usw.
mpd_title (max. Länge)Title des laufenden MPD-Song
mpd_volLautstärke des MPD
mpd_elapsedAbgelaufene Zeit des Titels
mpd_lengthLänge des Titels
mpd_percentAbgelaufene Zeit des Songs in Prozent
mpd_randomZufall-Status (On/Off)
mpd_repeatWiederholungs-Status (On/Off)
mpd_trackMPD Track Nummer
mpd_nameMPD Namen
mpd_fileDateinamen des MPD Songs
mpd_smartMPD Artist und Titel oder Artist und Name, je nach Verfügbarkeit

Audacious

audacious.png Um die Informationen des Audacious-Audioplayer anzuzeigen, muss das Programm wie oben beschrieben kompiliert werden.

Folgendes einfache Beispiel eines TEXT-Abschnittes für die Anzeige der Audacious-Informationen setzt natürlich einen Konfigurationsabschnitt mit den üblichen Einstellungen voraus.

TEXT
${audacious_title}
${color #009bf9}${audacious_bar 5,300}$color
${audacious_position}/${audacious_length} - Titel: ${audacious_playlist_position}/${audacious_playlist_length}

Im TEXT-Abschnitt können weitere Variablen genutzt werden, die Audacious betreffen:

ParameterArgumentFunktion
audacious_barHöhe, BreiteProzess-Anzeige als Leiste
audacious_bitrate Bitrate des aktuellen Titels
audacious_channels Anzahl der Kanäle des aktuellen Titels
audacious_filename Voller Pfad und Dateiname des aktuellen Titels
audacious_frequency Samplerate des aktuellen Titels
audacious_length Länge des aktuellen Titels in der Form "MM:SS"
audacious_length_seconds Länge des aktuellen Titels in Sekunden
audacious_playlist_position Position des aktuellen Titels in der Playliste
audacious_playlist_length Anzahl der Titel in der Playlliste
audacious_position Position des aktuellen Titel ("MM:SS")
audacious_position_seconds Position des aktuellen Titel in Sekunden
audacious_status Player Status ("Playing" / "Paused" / "Stopped" / "Not running" )
audacious_title Max. Länge Aktueller Titel mit optionaler Begrenzung der Länge

Amarok

Informationen des Audioplayers Amarok und zu dessen Datenbank können über ein Skript abgefragt werden. Die Einbindung von Skripten ist weiter unten genauer erläutert.

Ein beispielhafter Text-Abschnitt, der das Amarok-Skript nutzt, kann wie folgt aussehen:

TEXT
$stippled_hr${if_running amarokapp}
Interpret: ${execi 10 ~/.conky/amarok artist}
Titel: ${execi 10 ~/.conky/amarok title}
${execibar 250 ~/.conky/amarok progress}
Album: ${execi 10 ~/.conky/amarok album} (${execi 10 ~/.conky/amarok year})
Genre: ${execi 10 ~/.conky/amarok genre}
$stippled_hr
Collection Information
Artists: ${execi 10 ~/.conky/amarok totalArtists} ${alignr}Compilations: ${execi 10 ~/.conky/amarok totalCompilations}
Albums:  ${execi 10 ~/.conky/amarok totalAlbums} ${alignr}Genres: ${execi 10 ~/.conky/amarok totalGenres}
Tracks:  ${execi 10 ~/.conky/amarok totalTracks}
$stippled_hr
Collection Statisctics
Most songs by ${execi 10 ~/.conky/amarok most_songs_by_artist} $alignr(${execi 10 ~/.conky/amarok most_songs_by_artist_n})
Most songs are ${execi 10 ~/.conky/amarok most_songs_are_genre} $alignr(${execi 10 ~/.conky/amarok most_songs_are_genre_n})
Most songs during ${execi 10 ~/.conky/amarok most_songs_during_year} $alignr(${execi 10 ~/.conky/amarok most_songs_during_year_n})
Most albums by ${execi 10 ~/.conky/amarok most_albums_by_artist} $alignr(${execi 10 ~/.conky/amarok most_albums_by_artist_n})
Most albums are ${execi 10 ~/.conky/amarok most_albums_are_genre} $alignr(${execi 10 ~/.conky/amarok most_albums_are_genre_n})
Most albums during ${execi 10 ~/.conky/amarok most_albums_during_year} $alignr(${execi 10 ~/.conky/amarok most_albums_during_year_n})
$endif$stippled_hr

Amarok 2

Um Informationen von dem abgespielten Titel aus Amarok 2 über ein Skript abzufragen, muss folgendes Paket installiert werden:

  • libqt4-dbus

Die Einbindung von Skripten ist weiter unten genauer erläutert.

Um den Skript zu nutzen zu können, kann der Text-Abschnitt wie folgt aussehen:

TEXT
$stippled_hr${if_running amarok}
Interpret:$alignr${execi 10 ~/.conky/amarok2 artist}
Titel:$alignr${execi 10 ~/.conky/amarok2 title}
Länge:$alignr${execi 10 ~/.conky/amarok2 time} / ${execi 10 ~/.conky/amarok2 totaltime}
${execibar 10 ~/.conky/amarok2 progress}
Album:$alignr${execi 10 ~/.conky/amarok2 album}
Genre:$alignr${execi 10 ~/.conky/amarok2 genre}
$endif$stippled_hr

Banshee

Informationen von Banshee können über einen Skript ausgelesen werden. Dafür wird folgendes Paket benötigt:

  • python-dbus

Um das Programm aus dem PPA Wiki/Vorlagen/PPA/ppa.png conky von m-buck zu installieren, muss, abhängig von der Ubuntu-Version, eine der folgenden Paketquellen eingetragen werden:

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.

Für Ubuntu Jaunty Jackalope 9.04:

deb http://ppa.launchpad.net/m-buck/conky/ubuntu jaunty main

Für Ubuntu Intrepid Ibex 8.10:

deb http://ppa.launchpad.net/m-buck/conky/ubuntu intrepid main

Um die Quelle zu verwenden, sollte man den Signierungsschlüssel für diese Quelle einspielen. Dazu verwendet man folgenden Befehl:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0A316B5D4827A579  

Die folgenden Pakete müssen unter Intrepid Ibex und Jaunty Jackalope installiert werden:

  • conkybanshee (main)

Um den Skript zu nutzen zu können, kann der Text-Abschnitt wie folgt aussehen:

TEXT
$stippled_hr$
Interpret:$alignr${execi 10 conkyBanshee --datatype=AR}
Titel:$alignr${execi 10 conkyBanshee --datatype=TI}
Länge:$alignr${execi 10 conkyBanshee --datatype=PT} / ${execi 10 conkyBanshee --datatype=LE}
${execibar 10 conkyBanshee --datatype=PP}
Album:$alignr${execi 10 conkyBanshee --datatype=AL}
Genre:$alignr${execi 10 conkyBanshee --datatype=GE}
$stippled_hr

Exaile

Informationen von Exaile können über einen Skript ausgelesen werden. Dafür wird folgendes Paket benötigt:

  • python-dbus

Um das Programm aus dem PPA Wiki/Vorlagen/PPA/ppa.png conky von m-buck zu installieren, muss, abhängig von der Ubuntu-Version, eine der folgenden Paketquellen eingetragen werden:

Hinweis!

Zusätzliche Fremdquellen können das System gefährden.

Für Ubuntu Jaunty Jackalope 9.04:

deb http://ppa.launchpad.net/m-buck/conky/ubuntu jaunty main

Für Ubuntu Intrepid Ibex 8.10:

deb http://ppa.launchpad.net/m-buck/conky/ubuntu intrepid main

Um die Quelle zu verwenden, sollte man den Signierungsschlüssel für diese Quelle einspielen. Dazu verwendet man folgenden Befehl:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0A316B5D4827A579  

Die folgenden Pakete müssen unter Intrepid Ibex und Jaunty Jackalope installiert werden:

  • conkyexaile (main)

Um den Skript zu nutzen zu können, kann der Text-Abschnitt wie folgt aussehen:

TEXT
$stippled_hr
Interpret:$alignr${execi 10 conkyExaile --datatype=AR}
Titel:$alignr${execi 10 conkyExaile --datatype=TI}
Länge:$alignr${execi 10 conkyExaile --datatype=PT} / ${execi 10 conkyExaile --datatype=LE}
${execibar 10 conkyExaile --datatype=PP}
Album:$alignr${execi 10 conkyExaile --datatype=AL}
Genre:$alignr${execi 10 conkyExaile --datatype=GE}
$stippled_hr

Externe Skripte

Conky ist leicht durch Skripte erweiterbar, von denen man viele im Netz findet, wenn man sie nicht gerade selber schreiben mag. Die Einbindung eines externenen Skriptes 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:

#!/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. 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}

Einbinden von vnstat

Das Einbinden von vnstat ist sinnvoll wenn man den Datenverkehr über einen bestimmten Zeitraums (Tag, Woche, Monat, Jahr) erhalten will.

Dazu installiert[1] man erst einmal das Paket

  • vnstat (universe)

und legt fest, welche Netzwerkschnittstelle überwacht werden soll (näheres zur Installation/Konfiguration unter Netzwerk-Monitoring). 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 | tail} Updates

Problemlösungen

Umlaute und Sonderzeichen

Werden Umlaute und Sonderzeichen falsch dargestellt, muss in .conkyrc die Zeile

override_utf8_locale yes

eingefügt / auf "yes" umgestellt werden.

GNOME (Nautilus)

In der Regel sollten folgende Einstellungen einen problemlosen Betrieb ermöglichen, auch wenn der Desktop von Nautilus verwaltet wird:

own_window yes
own_window_type normal
own_window_transparent yes
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

Dabei ist die erste Einstellung (own_window yes) ausschlaggebend, die weiteren Einstellungen bewirken, dass das Fenster als solches nicht mehr zu erkennen ist und Conky scheinbar direkt auf dem Desktop dargestellt wird.

Werden bei Verwendung mit Nautilus dennoch keine Icons mehr auf dem Desktop angezeigt, so schafft das Programm Devilspie abhilfe.

Folgendes Paket muss installiert werden [1]:

  • devilspie (universe, [2])

Nach der Installation legt man im Homeverzeichnis einen Ordner .devilspie an und erstellt darin die Datei conky.ds mit folgendem Inhalt:

(if
(is (window_class) "Conky")
(begin
(pin)
(undecorate)
(wintype "dock")

(skip_pager)
(skip_tasklist)
(below)
)
)

Nun kann man den Befehl devilspie jedesmal vor Conky ausführen, zum Beispiel indem man ihn der GNOME-Sitzung hinzufügt [8].

Wenn die Anzeige abgeschnitten zu sein scheint, kann man dies mit dem Eintrag

text_buffer_size 1024

in den Konfigurationsbereich oberhalb des TEXT-Feldes beheben, wobei 1024 hier einen Beispielwert darstellt.

KDE

Unter KDE muss die Option "Programme im Arbeitsflächenfenster unterstützen" aktiviert werden, die man im Kontrollzentrum unter "Arbeitsfläche -> Verhalten" im Reiter "Allgemein" findet.

Bei Verwendung der Pseudo-Transparenz wird jedoch ein schwarzer Hintergrund angezeigt, da KDE das Hintergrundbild nicht in das Root-Fenster schreibt, sondern eine Ebene darüber. Das Programm Qiv schafft abhilfe.

Folgendes Paket muss installiert werden [1]:

  • qiv (universe, [2])

Nun kann das Hintergrundbild gesetzt werden:

qiv --root /pfad/zum/bild.png 

Damit dies mit jedem Conky-Start gemacht wird, trägt man folgende Zeile in die .conkyrc:

${exec /usr/bin/qiv --root /pfad/zum/bild.png}

Immer im Vordergrund bei Autostart

Bei Ubuntu mit Compiz, kann es manchmal vorkommen, dass Conky sich immer im Vordergrund befindet, wenn es sich im Autostart befindet. Abhilfe schafft da der Befehl sleep, welchen man vor den Startbefehl von Conky setzt:

Um den sleep-Befehl einzubauen benötigt man ein Script. Dieses erstellt man z.B. ins Home-Verzeichnis als versteckte Datei:

/home/user/.conkystart.sh

Der Inhalt dieser Datei sollte wie folgt aussehen:

#!/bin/bash

sleep 5 && conky

Jetzt muss man das Script nur noch automatisch starten lassen:

  • "System -> Einstellungen -> Sitzungen" bzw.

  • "System -> Einstellungen -> Startprogramme"

Foren

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


Diese Revision wurde am 1. Februar 2010 um 12:52 Uhr von noisefloor erstellt.
Dieser Seite wurden folgende Begriffe zugeordnet: Desktop, Multimedia, Kommunikation, System

Passwort vergessen?