In diesem Artikel geht es kurz darum, wie wir einen Raspberry Pi so umbauen können, dass dieser als „Kiosk Anzeigebildschirm“ verwendet werden kann.
Damit zeigt der Raspberry Pi immer eine Webseite an. Dies kann ein Grafana Dashboard, oder etwas anderes sein. Als Voraussetzung sollte das Gerät im Netzwerk (LAN oder WLAN) sein und das neuste Raspberry OS installiert sein.
Durchführung
Im ersten Schritt müssen wir unseren Raspberry Pi einmal auf die aktuellste Version bringen. Dazu führen wir den folgenden Befehl aus:
sudo apt update && sudo apt upgrade -ySobald das erledigt ist, müssen wir sicherstellen, dass der Chromium Browser auf dem Gerät installiert ist. In der Regel ist das der Fall. Wenn nicht, führe den folgenden Befehl aus:
sudo apt install chromium -yIm nächsten Schritt erstellen wir jetzt einen neuen „Kiosk-Service“ über den wir die Parameter und Laufzeiten steuern. Bei diesem ist das so eingestellt, dass der Browser alle 30 Minuten einmal neustartet, um Laufzeitfehler oder Probleme zu vermeiden. Ich habe es gerne insbesondere bei Grafana Dashboards gehabt, dass diese nach einer gewissen Zeit eingefroren, sind da diese die Verbindung zum Websocket verloren haben. Daher dieser Workarround. Falls dies nicht gewünscht ist, einfach die Option mit RuntimeMaxSec entfernen.
Wir legen zuerst die Service-Datei mit dem folgenden Befehl an:
[Unit]
Description=Chromium Kiosk
After=graphical.target network-online.target
Wants=network-online.target
[Service]
Type=simple
User=administrator
Environment=DISPLAY=:0
RuntimeMaxSec=30min
# Feste Pfade, kein %E{}, kein Shell-Quoting erforderlich
ExecStartPre=/usr/bin/mkdir -p /home/administrator/.kiosk-profile
ExecStart=/usr/bin/chromium \
--kiosk \
--user-data-dir=/home/administrator/.kiosk-profile \
--password-store=basic \
--no-first-run \
--fast-start \
--disable-session-crashed-bubble \
--disable-infobars \
--disable-translate \
--lang=de \
https://url.de/url
Restart=always
RestartSec=3
[Install]
WantedBy=graphical.target
Wichtig: Bitte den Benutzer und den Pfad anpassen, wenn hier ein anderer Benutzer verwendet wird.
Jetzt müssen wir einmal eine Datei erstellen, mit dem wir die Option für das Übersetzen deaktivieren, da dieses in der Ansicht nur stört. Dafür führen wir die folgenden Befehle aus:
sudo mkdir /etc/chromium/policies/
sudo mkdir /etc/chromium/policies/managed/
sudo tee /etc/chromium/policies/managed/disable_translate.json >/dev/null <<'EOF'
{
"TranslateEnabled": false
}
EOFUnd im letzten Schritt aktivieren wir jetzt den Service und starten den Rechner neu. Wenn wir alles richtig gemacht haben, sollte sich beim neu hochfahren des Raspberry’s die Webseite öffnen.
sudo systemctl daemon-reload
sudo systemctl enable kiosk
sudo reboot