Der Raspberry Pi 5 ist ein fantastischer kleiner Computer, der in vielen Bereichen eingesetzt werden kann. Einer seiner Vorteile ist sein geringer Stromverbrauch. Allerdings kann der Energieverbrauch trotzdem relevant sein, besonders wenn der Pi 24/7 läuft. Ein oft unterschätzter Faktor dabei ist der Bildschirm. Wenn der Bildschirm unnötig eingeschaltet ist, verbraucht er Energie, die wir eigentlich sparen könnten. In diesem Artikel zeigen wir Ihnen, wie Sie den Bildschirm Ihres Raspberry Pi 5 bequem per Kommandozeile steuern können, um so den Energieverbrauch zu optimieren und bares Geld zu sparen. Wir werden uns verschiedene Methoden ansehen, von einfachen Befehlen bis hin zu automatisierten Skripten.
Warum den Bildschirm per Kommandozeile steuern?
Es gibt viele Gründe, warum die Steuerung des Bildschirms per Kommandozeile nützlich ist:
- Energieeinsparung: Der offensichtlichste Grund. Wenn der Bildschirm nicht benötigt wird, kann er ausgeschaltet werden.
- Automatisierung: Sie können Skripte erstellen, die den Bildschirm zu bestimmten Zeiten automatisch ein- und ausschalten. Dies ist besonders nützlich für Projekte, die nachts oder während Ihrer Abwesenheit laufen.
- Fernsteuerung: Wenn Sie Ihren Raspberry Pi 5 über SSH steuern, können Sie den Bildschirm auch aus der Ferne ein- und ausschalten.
- Debugging: Manchmal kann es hilfreich sein, den Bildschirm schnell auszuschalten, um Probleme zu beheben oder zu diagnostizieren.
Grundlegende Befehle zur Bildschirmsteuerung
Es gibt mehrere Befehle und Tools, die Sie verwenden können, um den Bildschirm Ihres Raspberry Pi 5 über die Kommandozeile zu steuern. Wir werden uns die gängigsten und effektivsten Methoden ansehen.
1. `vcgencmd` (VideoCore Graphics Command)
Der Befehl `vcgencmd` ist ein sehr mächtiges Werkzeug, das speziell für Raspberry Pi entwickelt wurde. Er ermöglicht den Zugriff auf verschiedene Funktionen der VideoCore GPU. Leider kann `vcgencmd` selbst nicht direkt den Bildschirm ausschalten, aber es kann Informationen über den Bildschirmstatus liefern und indirekt zur Lösung beitragen. Es kann jedoch nützlich sein, um zu überprüfen, ob der Bildschirm überhaupt aktiv ist, oder um andere Grafikparameter zu manipulieren. Zum Beispiel:
vcgencmd display_power
Dieser Befehl zeigt den aktuellen Status der Bildschirmanzeige an (0 für aus, 1 für an). Obwohl er den Bildschirm nicht ausschaltet, kann er in Skripten verwendet werden, um den aktuellen Status zu überprüfen, bevor andere Aktionen ausgeführt werden.
2. `xset` (X Server User Settings)
`xset` ist ein Befehl, der für die Konfiguration der X Server-Einstellungen verwendet wird. Er ist besonders nützlich, wenn Sie eine grafische Benutzeroberfläche (GUI) auf Ihrem Raspberry Pi 5 verwenden. Mit `xset` können Sie den Bildschirm in den Energiesparmodus versetzen, was effektiv dem Ausschalten des Bildschirms entspricht. Hier sind die wichtigsten Befehle:
- Bildschirm ausschalten (Energiesparmodus):
xset dpms force off
Dieser Befehl schaltet den Bildschirm sofort in den Energiesparmodus. Er entspricht im Wesentlichen dem Ausschalten des Bildschirms.
- Bildschirm einschalten (aus dem Energiesparmodus):
xset dpms force on
Dieser Befehl holt den Bildschirm aus dem Energiesparmodus zurück und schaltet ihn wieder ein. Beachten Sie, dass dies möglicherweise nicht in allen Fällen sofort funktioniert, insbesondere wenn der Bildschirm vollständig ausgeschaltet wurde.
- DPMS (Display Power Management Signaling) aktivieren:
xset +dpms
Dieser Befehl aktiviert DPMS, falls es deaktiviert wurde. DPMS ist ein Standard, der es dem System ermöglicht, den Bildschirm automatisch in den Energiesparmodus zu versetzen, wenn er nicht verwendet wird.
- DPMS deaktivieren:
xset -dpms
Dieser Befehl deaktiviert DPMS.
- DPMS-Einstellungen ändern:
xset dpms standby suspend off
Dieser Befehl konfiguriert die DPMS-Einstellungen. `standby` gibt die Zeit in Minuten an, nach der der Bildschirm in den Standby-Modus wechselt, `suspend` die Zeit für den Suspend-Modus und `off` die Zeit, nach der der Bildschirm vollständig ausgeschaltet wird. Sie können diese Werte an Ihre Bedürfnisse anpassen. Zum Beispiel:
xset dpms 600 600 600
Dieser Befehl setzt alle drei Modi auf 600 Sekunden (10 Minuten).
Wichtiger Hinweis: `xset` funktioniert nur, wenn ein X Server läuft. Wenn Sie Ihren Raspberry Pi 5 ohne GUI betreiben (im Headless-Modus), funktionieren diese Befehle nicht. In diesem Fall müssen Sie andere Methoden verwenden, die wir später besprechen werden.
3. `tvservice`
`tvservice` ist ein weiteres nützliches Tool, das auf Raspberry Pi-Systemen verfügbar ist. Es wurde ursprünglich entwickelt, um die HDMI-Ausgabe zu verwalten. Mit `tvservice` können Sie den HDMI-Ausgang deaktivieren, was in der Regel dazu führt, dass der Bildschirm ausgeschaltet wird. Hier sind die Befehle:
- HDMI-Ausgang ausschalten:
tvservice -o
Dieser Befehl schaltet den HDMI-Ausgang aus, was den Bildschirm ausschaltet.
- HDMI-Ausgang einschalten:
tvservice -p
Dieser Befehl schaltet den HDMI-Ausgang ein und stellt die vorherige Auflösung und Einstellungen wieder her. Es ist wichtig zu beachten, dass dieser Befehl möglicherweise nicht immer perfekt funktioniert, insbesondere wenn die HDMI-Verbindung unterbrochen wurde.
- Aktuellen HDMI-Status abfragen:
tvservice -s
Dieser Befehl zeigt den aktuellen Status des HDMI-Ausgangs an.
- Hilfe anzeigen:
tvservice --help
Dieser Befehl zeigt eine Liste aller verfügbaren Optionen und Befehle für `tvservice` an.
Vorteile von `tvservice`:
- Funktioniert auch im Headless-Modus (ohne GUI).
- Relativ einfach zu bedienen.
Nachteile von `tvservice`:
- Schaltet den HDMI-Ausgang vollständig ab, was bedeutet, dass der Bildschirm nicht mehr „aktiv” ist. Dies kann in manchen Fällen zu Problemen führen, z. B. wenn der Bildschirm als primärer Bildschirm für andere Anwendungen verwendet wird.
- Funktioniert möglicherweise nicht mit allen Bildschirmen und HDMI-Adaptern.
Automatisierung: Skripte zur Bildschirmsteuerung
Die wahre Stärke der Kommandozeilensteuerung liegt in der Automatisierung. Sie können Skripte erstellen, die den Bildschirm zu bestimmten Zeiten automatisch ein- und ausschalten. Hier ist ein Beispiel für ein einfaches Bash-Skript, das den Bildschirm zu bestimmten Zeiten ausschaltet:
#!/bin/bash
# Skript zum automatischen Ausschalten des Bildschirms
HEUTE=$(date +%A)
STUNDE=$(date +%H)
# Bildschirm ausschalten, wenn es Abend ist (z.B. nach 22 Uhr)
if [ "$STUNDE" -ge 22 ]; then
tvservice -o
fi
# Bildschirm einschalten, wenn es Morgen ist (z.B. vor 7 Uhr)
if [ "$STUNDE" -lt 7 ]; then
tvservice -p
fi
exit 0
Erläuterung des Skripts:
- `#!/bin/bash`: Gibt an, dass das Skript mit Bash ausgeführt werden soll.
- `HEUTE=$(date +%A)`: Speichert den aktuellen Tag in der Variablen `HEUTE`.
- `STUNDE=$(date +%H)`: Speichert die aktuelle Stunde in der Variablen `STUNDE`.
- `if [ „$STUNDE” -ge 22 ]; then … fi`: Prüft, ob die aktuelle Stunde größer oder gleich 22 ist (10 Uhr abends). Wenn ja, wird der Bildschirm mit `tvservice -o` ausgeschaltet.
- `if [ „$STUNDE” -lt 7 ]; then … fi`: Prüft, ob die aktuelle Stunde kleiner als 7 ist (7 Uhr morgens). Wenn ja, wird der Bildschirm mit `tvservice -p` eingeschaltet.
- `exit 0`: Beendet das Skript mit dem Exit-Code 0, was bedeutet, dass es erfolgreich ausgeführt wurde.
Wie man das Skript ausführt:
- Speichern Sie das Skript in einer Datei, z. B. `screen_control.sh`.
- Machen Sie das Skript ausführbar: `chmod +x screen_control.sh`.
- Fügen Sie das Skript zu Ihrem Crontab hinzu, um es regelmäßig auszuführen. Um den Crontab zu bearbeiten, verwenden Sie den Befehl `crontab -e`.
- Fügen Sie eine Zeile hinzu, um das Skript beispielsweise alle 15 Minuten auszuführen:
*/15 * * * * /path/to/screen_control.sh
Ersetzen Sie `/path/to/screen_control.sh` durch den tatsächlichen Pfad zu Ihrem Skript.
Weitere Automatisierungs-Ideen:
- Bildschirm ausschalten, wenn keine Maus- oder Tastaturaktivität stattfindet: Sie können ein Skript erstellen, das die Zeit seit der letzten Maus- oder Tastaturaktivität überwacht und den Bildschirm ausschaltet, wenn eine bestimmte Zeitspanne überschritten wurde.
- Bildschirm ausschalten, wenn ein bestimmtes Programm nicht läuft: Wenn Sie ein Programm haben, das den Bildschirm benötigt, können Sie ein Skript erstellen, das den Bildschirm ausschaltet, wenn das Programm nicht läuft.
- Verwenden Sie einen Bewegungssensor, um den Bildschirm einzuschalten: Sie können einen Bewegungssensor an Ihren Raspberry Pi 5 anschließen und ein Skript erstellen, das den Bildschirm einschaltet, wenn eine Bewegung erkannt wird.
Alternative Methoden und Tools
Neben den oben genannten Methoden gibt es noch einige alternative Tools und Ansätze, die Sie zur Bildschirmsteuerung verwenden können:
1. `xrandr` (X Resize and Rotate)
`xrandr` ist ein weiteres leistungsstarkes Tool zur Konfiguration von Bildschirmen unter Linux. Es kann verwendet werden, um Auflösungen zu ändern, Bildschirme zu drehen und auch den Bildschirm auszuschalten (obwohl dies eher ein Deaktivieren des Bildschirms als ein echtes Ausschalten ist). Hier ist ein Beispiel, wie man `xrandr` verwenden kann, um den Bildschirm zu deaktivieren:
xrandr --output HDMI-0 --off
Ersetzen Sie `HDMI-0` durch den tatsächlichen Namen Ihres Bildschirms. Sie können den Namen mit `xrandr` ohne Optionen herausfinden.
Um den Bildschirm wieder zu aktivieren:
xrandr --output HDMI-0 --auto
`xrandr` ist flexibler als `xset`, bietet aber auch eine steilere Lernkurve.
2. Node-RED
Wenn Sie eine visuelle Programmierumgebung bevorzugen, ist Node-RED eine ausgezeichnete Wahl. Sie können Node-RED verwenden, um Flows zu erstellen, die den Bildschirm basierend auf verschiedenen Bedingungen steuern. Es gibt Node-RED-Nodes, die es Ihnen ermöglichen, Systembefehle auszuführen, was bedeutet, dass Sie die oben genannten Befehle (wie `xset` oder `tvservice`) in Ihren Node-RED-Flows verwenden können.
Fazit
Die Steuerung des Bildschirms per Kommandozeile auf Ihrem Raspberry Pi 5 ist eine effektive Methode, um Energie zu sparen und die Lebensdauer Ihres Geräts zu verlängern. Mit den verschiedenen Befehlen und Tools, die wir in diesem Artikel vorgestellt haben, können Sie den Bildschirm manuell steuern oder sogar automatisierte Skripte erstellen, die den Bildschirm basierend auf Ihren Bedürfnissen ein- und ausschalten. Experimentieren Sie mit den verschiedenen Methoden, um diejenige zu finden, die am besten zu Ihrem Anwendungsfall passt. Und vergessen Sie nicht: Jeder eingesparte Watt zählt!