Raspberry Pi 3 zeigt Webseite(n) im KIOSK-Modus (Anleitung)

Endlich eine akzeptable Möglichkeit um den Raspberry Pi 3 zu nutzen.
Ich nutzen ihn zum Beispiel in meinem MagicMirror zur Anzeige etwaiger Informationen meines HomeAssistant.
So kann ich die Anzeige über die HomeAssistant Webseite immer meinen Wünschen anpassen.
Die Umsetzung erfolgt mittels Bordmitteln des Betriebssystems "Raspberry Pi OS (32-Bit)". Es gibt zwar auch eine Softwarelösung wie zum Beispiel "MagicMirror" allerdings finde ich diese nicht so ansprechend.

Wie ich dieses umgesetzt habe, lesen Sie hier.

WICHTIG

Die folgende Anleitung funktioniert mit einem Raspberry Pi 3 und wurde von mir erfolgreich getestet.

1. Raspberry OS installieren und Updaten.

Installiere Raspberry OS auf eine SD-Speicherkarte mit Hilfe der zur Verfügung gestellten Software des Herstellers (Download).

Imager

2. Bildschirmlöschen deaktivieren und SSH Aktivieren.

Startet die Raspberry Pi-Konfiguration über das Hauptmenü.

Konfiguration

Deaktiviert hier den Option Bildschirmlöschen.

Bildschirmlöschen

Und aktivieren Sie die SSH Unterstützung.

SSH Dienst

Bestätige die Änderung und startet euren Raspberry Pi auf Aufforderung neu.

HINWEIS

Je nach Raspberry Pi Model und Version des Betriebssystem können die Menüpunkte anders lauten.

3. Verbinden per SSH

Verbinden Sie sich mit einem Terminal Programm wie PuTTY oder ähnlichem mit Ihrem Raspberry Pi.

SSH Verbindung

4. Update des Systems

Dazu verwende folgenden Befehl:

sudo apt-get update && sudo apt-get upgrade -y

Update

5. Notwendige Komponenten nachinstallieren

  • xserver-xorg (Der X.Org-Server ist der Display-Server des X-Window-Systems der X.Org Foundation.)
  • x11-xserver-utils (X-Client ist ein Programm, das eine Schnittstelle mit einem X-Server (fast immer über die X-Bibliotheken) und folglich mit Eingabe- und Ausgabegeräten wie einer Grafikkarte, Bildschirm, Tastatur und Zeigegerät (wie einer Maus) bildet.)
  • xinit (ermöglicht X-Anzeigeserver manuell zu starten)
  • openbox (Ein Fenstermanager für das X Window System.)
  • unclutter (Ein kleines Hilfsprogramm, das den Mauszeiger verschwinden lässt.)
  • xdotool (Ein kleines, aber effektives Befehlszeilenwerkzeug für den XServer, mit dem sich Maus- und Tastatureingaben emulieren lassen.)
sudo apt-get install --no-install-recommends xserver-xorg x11-xserver-utils xinit openbox unclutter xdotool

Software installieren

6. Skript für den Wechsel der Tabs

sudo nano ~/wechsel_tabs.sh

wechsel_tabs

Füge nun den folgenden Code hinzu.

#!/bin/bash
		
# Zeit in Sekunden zwischen den Tab-Wechseln
interval=<TIME>
		
while true; do
	# Wechsel zum nächsten Tab
	xdotool key Ctrl+Tab
	# Warte die festgelegte Zeit
	sleep $interval
done

wechsel_tabs - Inhalt

WICHTIG

Ersetze dabei die folgenden Punkt mit den Deinen.

  • <TIME>: Trage hier die Sekunden ein, zwischen denen die Tabs gewechselt werden sollen.

    Beispiel

    15

Speichern Sie das Skript beim schließen des Editors.

7. Skript ausführbar machen

sudo chmod +x ~/wechsel_tabs.sh

ausführbar

8. Autostart konfigurieren

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

autostart

Unter der letzten Zeile folgendes ergänzen.

@chromium-browser <URL1> <URL2> <URL...> --kiosk --noerrdialogs --disable-infobars --no-first-run --enable-features=OverlayScrollbar --start-maximized
@/home/<USER>/wechsel_tabs.sh
@unclutter -idle <TIME>

autostart - Inhalt

WICHTIG

Ersetze dabei die folgenden Punkte mit den Deinen.

  • <URL1>, <URL2>, <URL...>: Füge hier Deine URL zu den entsprechenden Seiten ein. Wenn Du nur eine URL eingeben möchtest, geht das natürlich auch. Lösche dazu die Einträge <URL2> <URL..>. Und kommentiere die Zeile "@/home/<NUTZERNAME>/wechsel_tabs.sh" mit einem # aus.
    Du kannst aber auch weitere Webseiten hinzufügen und die Liste verlängern, in dem Du weitere URL´s anhängst.

    Beispiel:

    https://q14six.de https://q14six.de/index.php/downloads https://welt.de
  • <USER>: Füge den Benutzernamen des jeweiligen Raspberry Pi Hauptnutzers hinzu. Standardmäßig ist dieser "pi".

    Beispiel

    pi
  • <TIME>: Sekunden, nach Inaktivität der Mauszeiger verschwinden soll.

    Beispiel

    15

Speichern Sie das Skript beim schließen des Editors.

9. Neustart des Raspberry Pi

Starte nun den Raspberry Pi einmal neu und schau Dir Deine Webseite(n) im KIOSK-Modus an.

sudo reboot now

reboot

HINWEIS

Solltest Du Webseiten des HomeAssistant nutzen wollen, empfiehlt es sich mit den WebBrowser auf dem Raspberry Pi einmal zu starten und die Webseite Deines HomeAssistant aufzurufen und dabei die Login-Daten zu speichern. Sonst bekommst Du im KIOSK-Modus auch nur die Login-Maske angezeigt und musst Dich innerhalb der von Dir gewählten Zeit einloggen (wegen des Tab-Wechsels).

Beispielergebnis

Getestet habe ich das ganze mit einem Raspberry Pi 3 B. Und sieht dann quasi wie folgt aus.