Conky - Schlanker Systemmonitor

Conky

Conky ist ein schlanker und anpassungsfähiger Systemmonitor für Desktop-Umgebungen unter Linux.

Informationen

Unter der Desktop-Umgebung KDE hat man viele verschiedene so genannte Plasmoiden zur Verfügung die einem viele Informationen - vor allem auch solche rund um das System zeigen können, auch Cinnamon hat solche - andere wie etwa Mate oder XFCE, auch WindowMaker haben hier kleinere Applets die sich im Panel platzieren lassen aber nur sehr wenige Informationen bieten.

Gerade für schlanke Desktop-Umgebungen bietet sich der ebenfalls schlanke Systemmonitor Conky an, dieser ist äußerst anpassungsfähig und zeigt genau diese Informationen an die man auch wirklich haben will. In diesem Beitrag werden wir uns diese Software etwas näher ansehen.

Wichtig zu wissen ist das dieser Systemmonitor unter allen Desktop-Umgebungen läuft - nur mit KDE nicht sonderlich kompatibel ist. - Diese Information ist inzwischen Veraltet, Sie finden mögliche Beispiele zur Konfiguration unter KDE-Conky zum Download. Hier mein erster Test:

KDE Plasma 5 mit Conky Systemmonitor

KDE Plasma 5 mit Conky Systemmonitor

Conky installieren

Unter auf Debian basierenden Systemen wie Ubuntu, Linux Mint und so weiter installieren Sie diese Software ganz einfach über die Paket-Verwaltung durch das Paket "conky-all".

Conky anpassen

Conky ist keine Software die man schlüsselfertig installiert sondern an seine Bedürfnisse anpasst. Bevor wir diesen Systemmonitor automatisch starten lassen testen wir einmal wie die Geschichte aussieht, dazu nutzen wir das Terminal und geben dort den Befehl:

conky

ein:

Conky - Systemmonitor für Linux anpassen

Conky - Systemmonitor für Linux anpassen

Nun, für meinen Geschmack ist er an der falschen Stelle, ist schwarz - ich möchte ihn lieber transparent und er liefert mir zu wenige und die falschen Informationen. Wir beenden die Software auf dem Terminal mit der Tastenkombination Strg + c. Was wir nun machen müssen um Conky anzupassen ist in unserem Home-Verzeichnis eine versteckte Datei namens ".conkyrc" zu erstellen - eine einfache Textdatei die wir mit einem beliebigen Texteditor bearbeiten.

Diese Datei hat keine schwierige Syntax, sie basiert auf der Sprache Lua - man gibt einfach jede neue Option in eine neue Zeile ein, beginnen wir einmal mit der Position. Zur Angabe der Position am Bildschirm nutzen wir den Eintrag "alignment" und geben den Wert danach ein, als Wert gilt "top_left" (oben links), top_right (oben rechts), bottom_left (unten links), bottom_right (unten rechts), middle_left (Mitte links), middle_middle (Bildschirm Mitte) und middle_right (Mitte rechts)".

Am einfachsten kopieren wir uns die Konfigurationsdatei des Systems in unser Home-Verzeichnis, als normaler Nutzer auf dem Terminal mit dem Befehl:

cp /etc/conky/conky.conf /home/nutzername/.conkyrc

"nutzername" ersetzen Sie dabei natürlich durch den Ihren. Jetzt bearbeiten wir diese versteckte Datei mit einem beliebigen Texteditor, diese sieht zu Beginn so aus:

-- vim: ts=4 sw=4 noet ai cindent syntax=lua
--[[
Conky, a system monitor, based on torsmo
Any original torsmo code is licensed under the BSD license
All code written since the fork of torsmo is licensed under the GPL
Please see COPYING for details
Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
Copyright (c) 2005-2012 Brenden Matthews, Philip Kovacs, et. al. (see AUTHORS)
All rights reserved.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see .
]]

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',
draw_borders = false,
draw_graph_borders = true,
draw_outline = false,
draw_shades = false,
use_xft = true,
font = 'DejaVu Sans Mono:size=12',
gap_x = 5,
gap_y = 60,
minimum_height = 5,
minimum_width = 5,
net_avg_samples = 2,
no_buffers = true,
out_to_console = false,
out_to_stderr = false,
extra_newline = false,
own_window = true,
own_window_class = 'Conky',
own_window_type = 'desktop',
stippled_borders = 0,
update_interval = 1.0,
uppercase = false,
use_spacer = 'none',
show_graph_scale = false,
show_graph_range = false
}

conky.text = [[
${scroll 16 $nodename - $sysname $kernel on $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 eth0} ${color grey} - Down:$color ${downspeed eth0}
$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}
]]

Den fett gedruckten Teil können wir einfach entfernen um uns nicht mit unnötigen Verwirrungen aufhalten zu lassen - somit haben wir nur noch die Konfiguration. Wir haben uns oben schon mit der Position befasst, ich möchte den Monitor nun unten rechts haben - also wird aus:

alignment = 'top_left',
alignment = 'bottom_right',
Conky - Systemmonitor für Linux Anpassung der Position

Conky - Systemmonitor für Linux Anpassung der Position

Nun sieht der schwarze Hintergrund alles andere als schön aus, geben wir dem Monitor etwas Transparent - fügen wir einfach folgende Zeilen hinzu - wichtig ist das bis auf die letzte Zeile immer die Zeile mit einem Komma abgeschlossen wird:

own_window_argb_visual = true,
own_window_argb_value = 150,
own_window_transparent = true
Conky - Systemmonitor für Linux - Transparenz

Conky - Systemmonitor für Linux - Transparenz

Den Wert der Transparenz können wir durch eine Zahl zwischen "0" und "255" anpassen.

Damit wäre unser Systemmonitor in meinem Fall optisch schon perfekt, jetzt möchte ich aber vor allem an den Informationen feilen die dieser mir zeigen soll. Der Abschnitt in der Datei beginnt ab der Zeile:

conky.text = [[

Nun möchte ich statt dem Balken der die Last der CPU's anzeigt einen Graph der mir die letzte Zeit der CPU-Last anzeigt sehen, so ersetze ich die Zeile:

${color grey}CPU Usage:$color $cpu% ${cpubar 4}

durch:

{cpugraph}
Conky - Systemmonitor für Linux - CPU-Graph

Conky - Systemmonitor für Linux - CPU-Graph

Möchte ich die Auslastung jeder CPU angezeigt bekommen - in diesem Beispiel vier:

CPU 1 ${cpubar cpu1 4,60}
CPU 2 ${cpubar cpu2 4,60}
CPU 3 ${cpubar cpu3 4,60}
CPU 4 ${cpubar cpu4 4,60}
Conky - Systemmonitor für Linux - Leistung einzelner CPU's

Conky - Systemmonitor für Linux - Leistung einzelner CPU's

Mit horizontalen Linien macht man die ganze Geschichte etwas übersichtlicher, wenn man diese benennt natürlich noch etwas mehr:

System $hr
Conky - Systemmonitor für Linux - Einteilung

Conky - Systemmonitor für Linux - Einteilung

Für das Netzwerk gibt man einfach die entsprechenden Schnittstellen an - hier hilft der Befehl:

ip a

In meinem Beispiel füge ich für die Schnittstellen "eno1" und "wlp2s0" die Zeilen:

Netzwerk WLAN $hr
${color #e49c16}Download :$color ${downspeed wlp2s0} kbyte/s ${offset 60}${color #e49c16}Upload:$color ${upspeed wlp2s0} kbyte/s
${color #FFFFFF}${downspeedgraph wlp2s0 32,150 8b4b0b ffc11f} ${offset 40}${color #FFFFFF}${upspeedgraph wlp2s0 32,150 ffc11f 8b4b0b}
Netzwerk Ethernet $hr
${color #e49c16}Download :$color ${downspeed eno1} kbyte/s ${offset 60}${color #e49c16}Upload:$color ${upspeed eno1} kbyte/s
${color #FFFFFF}${downspeedgraph eno1 32,150 8b4b0b ffc11f} ${offset 40}${color #FFFFFF}${upspeedgraph eno1 32,150 ffc11f 8b4b0b}
Conky - Systemmonitor für Linux - Netzwerk

Conky - Systemmonitor für Linux - Netzwerk

Wie man hier sieht habe ich auch begonnen die ganze Geschichte etwa farbenfroher zu gestalten, dazu gibt man einfach vor dem gewünschten Text oder der Ausgabe die gewünschte Farbe in HTML-Code an, die Tabelle dazu finden Sie unter HTML-Farben.

Weiteres

Ehrlich gesagt ist es kaum möglich alle Möglichkeiten von Conky auf einer Seite unter zu bringen, aber viele Beispiele finden sich auf diversen Seiten wie etwa Devianart, laden Sie das entsprechende Archiv herunter, entpacken es und passen Ihre ".conkyrc" darauf an, unter Sourceforge finden Sie alle möglichen nutzbaren Variablen.

Viel Spaß mit Conky.