Wie stelle ich sicher, dass Conky nach einem Crash automatisch neu startet?

Melden
  1. Einleitung
  2. Verwendung eines systemd-Dienstes
  3. Schritt 1: Erstellen einer systemd-Dienstdatei
  4. Schritt 2: Dienst aktivieren und starten
  5. Hinweise zur Umgebungsvariable DISPLAY und XAUTHORITY
  6. Alternative Methode: Überwachungs-Skript
  7. Fazit

Einleitung

Conky ist ein beliebtes Systemüberwachungs-Tool unter Linux, das häufig zur Anzeige von Systeminformationen auf dem Desktop verwendet wird. Wenn Conky abstürzt oder unerwartet beendet wird, kann es störend sein, es manuell neu zu starten. Es ist daher sinnvoll, Mechanismen einzurichten, die Conky automatisch neu starten, sobald es beendet wird. Im Folgenden wird ausführlich erklärt, wie Sie dies realisieren können.

Verwendung eines systemd-Dienstes

Die stabilste und flexibelste Methode, um sicherzustellen, dass Conky automatisch neu startet, ist die Verwendung von systemd. Systemd ist der moderne Init-System und Dienstemanager vieler Linux-Distributionen. Sie können einen eigenen systemd-Dienst anlegen, der Conky startet und bei Absturz automatisch neu startet.

Schritt 1: Erstellen einer systemd-Dienstdatei

Zuerst erstellen Sie eine neue Dienstdatei, z.B. unter ~/.config/systemd/user/conky.service oder systemweit unter /etc/systemd/system/conky.service. Der Inhalt könnte folgendermaßen aussehen:

Description=Conky System MonitorAfter=graphical.target ExecStart=/usr/bin/conkyRestart=alwaysRestartSec=5User=dein_benutzernameEnvironment=DISPLAY=:0Environment=XAUTHORITY=/home/dein_benutzername/.Xauthority WantedBy=default.target

Dieser Dienst startet Conky und versucht es nach einem Absturz immer wieder neu zu starten. Die Direktive Restart=always sorgt dafür, dass Conky bei einem Abbruch automatisch wieder gestartet wird. Mit RestartSec=5 wird eine Pause von 5 Sekunden vor einem Neustart eingefügt, um einen Neustartloop zu vermeiden.

Schritt 2: Dienst aktivieren und starten

Nachdem die Dienstdatei gespeichert wurde, laden Sie systemd neu, damit die neue Konfiguration erkannt wird:

systemctl --user daemon-reload

Dann aktivieren Sie den Dienst, damit er beim Login automatisch startet:

systemctl --user enable conky.service

Starten Sie den Dienst das erste Mal manuell:

systemctl --user start conky.service

Hinweise zur Umgebungsvariable DISPLAY und XAUTHORITY

Damit Conky richtig auf dem Desktop angezeigt wird, muss die Umgebungsvariable DISPLAY korrekt gesetzt sein (meist :0) und der Zugriff auf die X-Sitzung muss mit XAUTHORITY möglich sein. Diese Pfade können je nach Setup unterschiedlich sein; prüfen Sie mit echo $DISPLAY und echo $XAUTHORITY in Ihrer Shell, welche Werte aktuell gesetzt sind.

Alternative Methode: Überwachungs-Skript

Wenn aus irgendeinem Grund systemd keine Option ist, kann man ein Shell-Skript schreiben, das Conky in einer Endlosschleife startet und bei Beendigung sofort neu starten lässt. Das Skript sähe beispielsweise so aus:

#!/bin/bashwhile true; do /usr/bin/conky sleep 5done

Starten Sie dieses Skript im Hintergrund, z.B. bei der Anmeldung. Diese Methode ist zwar einfach, aber weniger elegant und bietet nicht die Vorteile der Verwaltung und der Logfunktionalität von systemd.

Fazit

Um Conky nach einem Absturz automatisch neu starten zu lassen, ist die Nutzung eines systemd-Dienstes der beste Weg. Dies garantiert einen stabilen Betrieb, automatische Neustarts und einfache Wartungsmöglichkeiten. Alternativ kann auch ein einfaches Skript verwendet werden, deren Einsatz aber aufwändiger in der Handhabung ist.

0

Kommentare