Conky ist ein Systemmonitor für Linux, der sich direkt auf den Desktop legt, also kein eigenes Fenster benötigt und unter allen Desktop-Umgebungen funktioniert – also KDE, GNOME, XFCE, Cinnamon, LXQT, LXDE, Mate und so weiter und so fort.

Conky ist extrem anpassbar und kann auch grafisch so einiges bieten. In diesem Beitrag sehen wir uns diese Software etwas näher an.

Conky installieren

Unter auf Debian basierenden Linux-Distributionen installieren Sie diese Software ganz einfach über die Paket-Verwaltung durch die Pakete „conky conky-all„.

Conky nutzen

Bevor man Conky als automatisch zu startende Anwendung beim Anmelden in die Desktop-Umgebung einfügt, sollte man die Software erst einmal an seine Bedürfnisse anpassen. Conky ist so gesehen keine fertige Software, sondern individuell konfigurierbar.

Wollen wir Conky erst einmal starten, hierzu nutzen wir das Terminal mit dem Befehl:

conky

Die Software bietet ohne weitere Konfiguration nur rudimentäre Informationen und keine Transparenz – ist also recht schmucklos. Dies bedeutet wir werden Conky wie es uns gefällt anpassen, als Erstes beenden wir Conky mit der Tastenkombination Strg+c am Terminal.

Angepasst wird Conky per Konfigurationsdatei, diese liegt unter „/etc/conky/“ – da es sich dabei um eine Systemdatei handelt können wir diese als normaler Benutzer nicht bearbeiten, wir kopieren uns diese als normaler Nutzer am Terminal mit folgendem Befehl in unser Home-Verzeichnis:

cp /etc/conky/conky.conf ~/.conkyrc

Nun findet sich in unserem Home-Verzeichnis die kopierte Datei versteckt mit der Bezeichnung „.conkyrc“ – deren Inhalt sollte so aussehen:

conky.config = {
    alignment = 'top_left',
    background = false,
    border_width = 1,
    cpu_avg_samples = 2,
    default_color = 'white',
    default_outline_color = 'white',
    default_shade_color = 'white',
    double_buffer = true,
    draw_borders = false,
    draw_graph_borders = true,
    draw_outline = false,
    draw_shades = false,
    extra_newline = false,
    font = 'DejaVu Sans Mono:size=12',
    gap_x = 60,
    gap_y = 60,
    minimum_height = 5,
    minimum_width = 5,
    net_avg_samples = 2,
    no_buffers = true,
    out_to_console = false,
    out_to_ncurses = false,
    out_to_stderr = false,
    out_to_x = true,
    own_window = true,
    own_window_class = 'Conky',
    own_window_type = 'desktop',
    show_graph_range = false,
    show_graph_scale = false,
    stippled_borders = 0,
    update_interval = 1.0,
    uppercase = false,
    use_spacer = 'none',
    use_xft = true,
}

conky.text = [[
${color grey}Info:$color ${scroll 32 Conky $conky_version - $sysname $nodename $kernel $machine}
$hr
${color grey}Uptime:$color $uptime
${color grey}Frequency (in MHz):$color $freq
${color grey}Frequency (in GHz):$color $freq_g
${color grey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 4}
${color grey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 4}
${color grey}CPU Usage:$color $cpu% ${cpubar 4}
${color grey}Processes:$color $processes  ${color grey}Running:$color $running_processes
$hr
${color grey}File systems:
 / $color${fs_used /}/${fs_size /} ${fs_bar 6 /}
${color grey}Networking:
Up:$color ${upspeed} ${color grey} - Down:$color ${downspeed}
$hr
${color grey}Name              PID     CPU%   MEM%
${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
]]

Alles, was darüber steht, dient rein zur Information und kann gefahrlos gelöscht werden. Die Zeilen unter geschweifter Klammer dienen zur Konfiguration des Aussehens und zur Angabe der Position, alles darunter sind Informationen die Conky anzeigen soll. Zur Information – die Konfiguration von Conky ist in der Sprache Lua geschrieben – wer sich damit auskennt kann gleich ein wenig weiter denken, wer keine Erfahrung damit hat – man muss keine haben.

Wir finden gleich einmal in der ersten Zeile die Angabe der Position am Bildschirm:

alignment = 'top_left'

Ganz einfach – Conky liegt oben links – „top_left„, mit „top_right“ (oben rechts), „bottom_left“ (unten links), „bottom_right“ (unten rechts) und „middle_left“ (Mitte links), „middle_middle“ (Bildschirm-Mitte), „middle_right“ (Mitte rechts) passen wir die Position an.

Zusätzlich können wir die Position mit „gap_x Pixel“ und „gap_y Pixel“ die Position noch genauer anpassen, Ein Beispiel:

alignment = 'top_left',
gap_x 2,
gap_y 2,

Die Position in Pixel wird von der Position weg gerechnet, die man mittels „alignment“ angegeben hat. Nun wollen wir Transparenz ins Spiel bringen, wir entfernen zu Beginn alles, was in geschweifter Klammer liegt und fügen stattdessen folgenden Code ein:

use_xft = true,
	font = 'Serif:size=12',

	update_interval = 2,
	alignment = 'top_left',
	background = false,
	double_buffer = true,
	no_buffers = true,
	text_buffer_size = 3072,
	border_width = 1,
	draw_borders = false,
	stippled_borders = 10,
	draw_graph_borders = true,
	draw_outline = false,
	draw_shades = false,
	out_to_console = false,
	out_to_stderr = false,
	extra_newline = true,
	own_window = true,
	own_window_class = 'Conky-left',
	own_window_type = 'normal',
	own_window_argb_visual = true,
        own_window_transparent = true,
	own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
	uppercase = false,
	use_spacer = 'none',
	show_graph_scale = false,
	show_graph_range = false,

	gap_x = 20,
	gap_y = 20,
	minimum_width = 600, minimum_height = 500,

Einfach gesagt haben wir nun folgenden kompletten Code:

conky.config = {
    use_xft = true,
	font = 'Serif:size=12',

	update_interval = 2,
	alignment = 'top_left',
	background = false,
	double_buffer = true,
	no_buffers = true,
	text_buffer_size = 3072,
	border_width = 1,
	draw_borders = false,
	stippled_borders = 10,
	draw_graph_borders = true,
	draw_outline = false,
	draw_shades = false,
	out_to_console = false,
	out_to_stderr = false,
	extra_newline = true,
	own_window = true,
	own_window_class = 'Conky-left',
	own_window_type = 'normal',
	own_window_argb_visual = true,
        own_window_transparent = true,
	own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
	uppercase = false,
	use_spacer = 'none',
	show_graph_scale = false,
	show_graph_range = false,

	gap_x = 20,
	gap_y = 20,
	minimum_width = 600, minimum_height = 500,
}

conky.text = [[
${color grey}Info:$color ${scroll 32 Conky $conky_version - $sysname $nodename $kernel $machine}
$hr
${color grey}Uptime:$color $uptime
${color grey}Frequency (in MHz):$color $freq
${color grey}Frequency (in GHz):$color $freq_g
${color grey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 4}
${color grey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 4}
${color grey}CPU Usage:$color $cpu% ${cpubar 4}
${color grey}Processes:$color $processes  ${color grey}Running:$color $running_processes
$hr
${color grey}File systems:
 / $color${fs_used /}/${fs_size /} ${fs_bar 6 /}
${color grey}Networking:
Up:$color ${upspeed} ${color grey} - Down:$color ${downspeed}
$hr
${color grey}Name              PID     CPU%   MEM%
${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
]]

Ich selbst würde mich nun an die Übersetzung machen, wir gehen als an die Sektion unter eckiger Klammer – im Original:

conky.text = [[
${color grey}Info:$color ${scroll 32 Conky $conky_version - $sysname $nodename $kernel $machine}
$hr
${color grey}Uptime:$color $uptime
${color grey}Frequency (in MHz):$color $freq
${color grey}Frequency (in GHz):$color $freq_g
${color grey}RAM Usage:$color $mem/$memmax - $memperc% ${membar 4}
${color grey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar 4}
${color grey}CPU Usage:$color $cpu% ${cpubar 4}
${color grey}Processes:$color $processes  ${color grey}Running:$color $running_processes
$hr
${color grey}File systems:
 / $color${fs_used /}/${fs_size /} ${fs_bar 6 /}
${color grey}Networking:
Up:$color ${upspeed} ${color grey} - Down:$color ${downspeed}
$hr
${color grey}Name              PID     CPU%   MEM%
${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
]]

Und für mich übersetzt:

conky.text = [[
${color grey}Info:$color ${scroll 32 Conky $conky_version - $sysname $nodename $kernel $machine}
$hr
${color grey}Laufzeit:$color $uptime
${color grey}Frequenz CPU (in MHz):$color $freq
${color grey}Frequenz CPU (in GHz):$color $freq_g
${color grey}RAM Nutzung:$color $mem/$memmax - $memperc% ${membar 4}
${color grey}Swap Nutzung:$color $swap/$swapmax - $swapperc% ${swapbar 4}
${color grey}CPU Nutzung:$color $cpu% ${cpubar 4}
${color grey}Prozesse:$color $processes  ${color grey}Laufend:$color $running_processes
$hr
${color grey}Dateisystem:
 / $color${fs_used /}/${fs_size /} ${fs_bar 6 /}
${color grey}Netzwerk:
Upload:$color ${upspeed} ${color grey} - Download:$color ${downspeed}
$hr
${color grey}Name              PID     CPU%   MEM%
${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
]]

Die Übersetzung sieht nun in meinem Fall so aus:

Nun können wir beispielsweise nicht nur die aktuelle CPU-Auslastung anzeigen – oben mit „${color grey}CPU Nutzung:$color $cpu% ${cpubar 4}“ angegeben, sondern einen CPU-Graphen einfügen „${cpugraph ffc11f 8b4b0b}“ und so beide Angaben haben, oder auch die Zeile mit der CPU-Bar wenn gewünscht entfernen:

Ein weiteres Beispiel für einen solchen Graphen wäre das Netzwerk:

${color #FFFFFF}${downspeedgraph wlan0 32,150 8b4b0b ffc11f} ${offset 40}${color #FFFFFF}${upspeedgraph wlan0 32,150 ffc11f 8b4b0b}

Nutzt man mehrere Netzwerk-Schnittstellen kann man für jede eine eigene Zeile anlegen – hier „wlan0„. Wie oben im Gesamt-Code angegeben, lässt sich für jede Partition die Belegung extra angeben:

/ $color${fs_used /}/${fs_size /} ${fs_bar 6 /}

Für eine extra Home-Partition:

/ $color${fs_used /}/${fs_size /} ${fs_bar 6 /}
/home/ $color${fs_used /}/${fs_size /} ${fs_bar 6 /}

Auf einem Laptop könnte man sich noch den Status des Akkus ansehen:

Battery: ${battery_percent BAT1}% ${alignr}${battery_bar 8,70 BAT1}

Die Farben innerhalb von Conky werden mittels „color“ und HTML-Codes angepasst, eine Tabelle findet sich unter anderem hier. Conky komplett zu beschreiben wäre etwas übertrieben und wohl unmöglich – eine sehr gute Dokumentation findet sich jedoch unter Arch Linux Conky.

Der Code für diese Konfiguration:

conky.config = {
    use_xft = true,
	font = 'Serif:size=12',

	update_interval = 2,
	alignment = 'top_left',
	background = false,
	double_buffer = true,
	no_buffers = true,
	text_buffer_size = 3072,
	border_width = 1,
	draw_borders = false,
	stippled_borders = 10,
	draw_graph_borders = true,
	draw_outline = false,
	draw_shades = false,
	out_to_console = false,
	out_to_stderr = false,
	extra_newline = true,
	own_window = true,
	own_window_class = 'Conky-left',
	own_window_type = 'normal',
	own_window_argb_visual = true,
        own_window_transparent = true,
	own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
	uppercase = false,
	use_spacer = 'none',
	show_graph_scale = false,
	show_graph_range = false,

	gap_x = 20,
	gap_y = 20,
	minimum_width = 600, minimum_height = 500,
}

conky.text = [[
${color grey}Info:$color ${scroll 32 Conky $conky_version - $sysname $nodename $kernel $machine}
$hr
${color grey}Laufzeit:$color $uptime
${color grey}Frequenz CPU (in MHz):$color $freq
${color grey}Frequenz CPU (in GHz):$color $freq_g
${color grey}RAM Nutzung:$color $mem/$memmax - $memperc% ${membar 4}
${color grey}Swap Nutzung:$color $swap/$swapmax - $swapperc% ${swapbar 4}
${color grey}CPU Nutzung:$color $cpu% ${cpubar 4}
${cpugraph ffc11f 8b4b0b}
${color grey}Prozesse:$color $processes  ${color grey}Laufend:$color $running_processes
$hr
${color grey}Dateisystem:
 / $color${fs_used /}/${fs_size /} ${fs_bar 6 /}
${color grey}Netzwerk:
Upload:$color ${upspeed} ${color grey} - Download:$color ${downspeed}
${color #FFFFFF}${downspeedgraph wlan0 32,150 8b4b0b ffc11f} ${offset 40}${color #FFFFFF}${upspeedgraph wlan0 32,150 ffc11f 8b4b0b}
Akku: ${battery_percent BAT1}% ${alignr}${battery_bar 8,70 BAT1}
$hr
${color grey}Name              PID     CPU%   MEM%
${color lightgrey} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
]]

Fertige Themas

Will man sich nicht lange mit der Konfiguration abplagen finden sich im Internet zahlreiche vorgefertigte Themas, etwa unter KDE Store, die meisten sollten auch problemlos unter anderen Desktop-Umgebungen funktionieren.

Meist gilt es die komprimierten Archive herunterzuladen, zu entpacken und den Inhalt anschließend in im Home-Verzeichnis versteckt liegendenden Verzeichnis.conky“ abzulegen und die darin liegende Dateistart_conky.sh“ auszuführen, diese fügt man nun dem Autostart hinzu, hin und wieder muss man ein klein wenig an der Konfiguration anpassen oder andere Dateien an die richtige Stelle zu verschieben – einfach die Anleitungen beachten.

Ein Beispiel (ohne weitere Konfiguration):

Oder etwas auffälligeres:

Conky Manager 2

Conky Manager ist eine grafische Oberfläche für Conky – inzwischen ist die Version 2 erschienen. Conky Manager dient dazu fertige Themen und Widgets zu verwalten und zu starten.

Conky Manager installieren

Ubuntu-Nutzer und Nutzer von Distributionen, die auf Ubuntu basieren, haben es am einfachsten – sie installieren die Software ganz einfach über ein PPA. Hat man die grafische Oberfläche (wie im Beitrag beschrieben) nicht installiert, installiert man die Software ganz einfach über das Terminal:

sudo add-apt-repository ppa:teejee2008/foss
sudo apt update
sudo apt install conky-manager2

Unter anderen Linux-Distributionen gilt es, die Software derzeit selbst zu kompilieren. Unter auf Debian basierenden Linux-Distributionen installiert man hierzu über die Paket-Verwaltung folgende Pakete: „build-essential git valac libgee-0.8-dev libgtk-3-dev libjson-glib-dev gettext libgettextpo-dev p7zip-full imagemagick“ – am schnellsten mit administrativen Rechten am Terminal mit folgendem Befehl:

apt install build-essential git valac libgee-0.8-dev libgtk-3-dev libjson-glib-dev gettext libgettextpo-dev p7zip-full imagemagick

Jetzt arbeitet man mit normalen Benutzerrechten am Terminal weiter – man lädt als Erstes den Quellcode herunter:

git clone https://github.com/zcot/conky-manager2.git

Jetzt wechselt man in das heruntergeladene Verzeichnis:

cd conky-manager2

Und kompiliert die Software:

make

Jetzt installiert man die kompilierte Software mit administrativen Rechten:

make install

Speichern Sie das heruntergeladene Verzeichnis an einem beliebigen Ort – Sie benötigen es, um die Software schnell und einfach wieder deinstallieren zu können. Für diese Aufgabe wechseln Sie auf dem Terminal in dieses Verzeichnis und führen mit administrativen Rechten folgenden Befehl aus:

make uninstall

Conky Manager 2 nutzen

Sie finden diese Software nach der Installation im Anwendungsmenü unter der Kategorie Dienstprogramme (KDE) oder unter Zubehör, alternativ nutzen Sie den Schnellstarter (Alt+F2) oder das Terminal mit dem Befehl:

conky-manager2

Nun, ich präsentiere diese Software unter KDE – wer Conky und KDE zusammen betreibt weiß – die beiden vertragen sich nur mit Anpassungen – siehe Beitrag oben. Ich werde die einzelnen Widgets hier nicht bearbeiten, darum fehlt bei den meisten wohl die Transparenz.

Sie finden im Conky Manager jetzt bereits einige Widgets (einzelne kleine Info-Kästen) und unter „Themen“ ein fertiges Thema (Zusammenstellung von einzelnen Widgets). Diese aktivieren und deaktivieren Sie einfach per Mausklick in die Checkbox – Sie können auch mehrere zur gleichen Zeit aktivieren:

Markieren Sie ein Widget oder ein Thema und klicken auf den Schalter mit dem Stift, öffnet sich die Konfiguration des Widgets im Texteditor und es lässt sich bearbeiten:

Natürlich lassen sich auch weitere Widgets und ganze Themen in Conky Manager importieren – solche finden Sie etwa unter GNOME Look oder im KDE Store oder auch auf GitHub. Meist genügt es, die komprimierten Dateien einfach nur über den Schalter „Importieren“ zu aktivieren:

Hier etwa das aus mehreren Widgets bestehende Thema Conky Material von GitHub – einfach auf „Code“ klicken und auf „Download ZIP“ klicken – importieren:

Manche Widgets muss man auch erst bearbeiten – etwa solche die das Wetter anzeigen – hier gilt es etwa den Aufenthaltsort einzutragen.

Ergänzungen aus dem Forum

Conky-Sammlung
Eine umfangreiche Conky-Sammlung mit individueller Bearbeitung bietet Mabox Linux per default.
Mit wenigen Handgriffen hinzugefügt und angepasst…

Conky unter Arch
Den Conky-Manager gibt es natürlich auch Unter Arch, Manjaro und anderen Arch-basierten Distiri’s.
Man kann ihn mittels Pacman installieren:

Oder auch im Terminal.
Zuerst schauen wir einmal nach welche Versionen werden uns überhaupt angeboten.
Dazu verwenden wir den Befehl:

yay -Ss conky-manager

„-Ss“ zeigt uns alle möglichen Installlationskanditaten, weil „yay“ im Gegensatz zu Pacman auch das „AUR“ Repo durchsucht.

Ich habe mich dann für den Conky-Manager2-git entschieden:

Jetzt nur noch ein wenig warten bis das Paket fertig gebaut und installiert ist.


Problem
Habe mal wieder in den Foren gestöbert und bin auf den Beitrag „conky“
gestoßen. Den habe ich dann auch unter Debian 11 stable installiert. Hat auch soweit funktioniert,
aber nachdem ich conky gestartet habe (habe vorher das letzte Scripte in die .conkyrc kopiert; nach Arch Linux Conky) wurde
nur der linke Teil angezeigt. Es fehlt auf der rechten Seite die Festplattenaktivität, Verwendung
anderer Prozesse und Netzwerkgeschwindigkeit.

Mein System:
Debian 11 stable
xfce 4.16
compiz
cairo-dock
plus Standprogramme die beim installieren von xfce mitgeliefert werden.

Lösung
Am besten verwendest Du den Conky-Manager.
Vorgehensweise
Im Terminal einfügen:

sudo apt update

dann

sudo apt install conky-all

Den Conky-Manager bekommst du hiermit: Im Terminal – ohne Rootberechtigung – einfügen:

wget --no-check-certificate https://github.com/teejee2008/conky-manager/releases/download/v2.4/conky-manager-v2.4-amd64.run

anschließend mit Root-Berechtigung:

chmod +x conky-manager-v2.4-amd64.run

und abschließend:

sudo ./conky-manager-v2.4-amd64.run

Den Conky-Manager findest Du nun im Anwendungsmenü unter Dienstprogramme oder im Terminal mit der Eingabe conky-manager.

Hier sind schon einige Theme-Packs vorinstalliert.
Einfach Häkchen im gewünschten Theme setzen und links oben auf das schwarze Dreieck „Start / Restart Widget“ klicken.
Weitere Themes findest Du beispielsweise hier:
https://sourceforge.net/projects/cmdp/f … t/download
und hier: https://download1475.mediafire.com/pman … ck.cmtp.7z
Download-Dialog abwarten, Datei speichern auswählen und mit „OK“ bestätigen.
Nach dem Download wird die *cmtp.7z-Datei im Conky-Manager mit Klick auf das ganz rechte Ordner-Symbol in der linken oberen Symbolleiste importiert.

Importbestätigung abwarten.
Nach einem Neustart des Conky-Managers stehen weitere Conky-Themes bereit.
Bevor Du losgegst – wie immer bei solchen Eingriffen ins System – ein System-Backup ist ratsam…


Erstveröffentlichung: So 10. Okt 2021, 10:45

Categories:

Tags:

Schreibe einen Kommentar

Eine Reaktion

Neue Themen im Forum
Debian installieren - für Anfänge …Hallo, jetzt gelingt mir die Installation auch über "Insta … Weiterlesen
Frage zu GrubDanke @juhu, das war für mich eine reine Verständnisfrage allge … Weiterlesen
Brother Drucker unter LinuxMit der Suche nach „Linux Brother HL-2030“ fand ich zur Seite htt … Weiterlesen
Kategorien im Wiki
WIKI-Beiträge des Monates

Die Beiträge des Monates finden Sie im Kalender unter den blau markierten Tageszahlen.

September 2023
M D M D F S S
 123
45678910
11121314151617
18192021222324
252627282930  
Archive