bin etwas am Verzweifeln - versuche es (mal wieder) einen Raspberry Pi 4 mit Bookworm 64-Bit in den Kiosk-Mode zu bringen. Ich hatte das hier schon mal thematisiert - irgendwann hat es funktioniert - warum auch immer, ich kann es nicht mehr nachvollziehen…
Die aktuellen Anleitungen im Internet beziehen sich auf “Wayfire”, was habe ich gemacht:
In der config.txt:
Hier bin ich unsicher, was der beiden aktiviert bzw. deaktiviert werden muss:
So wie jetzt eingestellt ist, startet der Raspberry Pi in die GUI, ich kann dann den Browser aufrufen und dort das Symcon Webfront aufrufen und bedienen.
Was ist falsch eingestellt? Muss ich mit der Wayfire-Ini-Datei noch etwas machen?
Muss es Bookworm sein? Und brauchst Du die UI zwingend?
Ich beschreibe mal mein Setup:
RaspberryPi 4B // Hyperpixel Touch (direkt über GPIO angeschlossen).
Meine Vorgabe war: keine GUI, Chromium im Kiosk-Modus direkt über CLI Autostart
Hatte das vor vielen Jahren schon einmal mit glaub Buster umgesetzt. Vor ein paar Tagen wollte ich eine zusätzliche RPI/Display-Kombination einrichten und bin bei Trixie/Bookworm grandios gescheitert. Habe es selbst mit stundenlangen ChatGPT-Sitzungen nicht hinbekommen. Problem war, dass sobald der Pi gebootet hatte (Displayinhalt war zu sehen) und es Richtung Chrome gehen sollte, alles schwarz blieb.
Meine Recherchen zeigten, dass sich wohl “irgendwas” Wesentliches bei Bookworm geändert hatte, aber ich hatte keine Lust mehr darauf, weil mir die Version vom OS eigentlich ziemlich wurscht ist.
Bei mir läuft es erfolgreich mit der letzten verfügbaren Version von Bullseye (zu finden auf den offiziellen RPI-Serviern).
Das hier müsste mein letztes erfolgreiches Vorgehen sein
Meine Schritte:
Raspberry OS (latest Bullseye Lite(!)) mit Raspberry Pi Imager geflasht (incl. WLAN und SSH)
add dtoverlay=vc4-kms-dpi-hyperpixel4sq to /boot/config.txt (das ist aber die config für den Hyperpixel)
sudo raspi-config → System Options → Boot / Auto Login → Console Autologin
nano ~/.xinitrc (content below)
chmod +x ~/.xinitrc
nano ~/.bash_profile (content below)
sudo reboot
.xinitrc:
#!/bin/sh
# Bildschirm nie abschalten <= Das kann natürlich angepasst werden
xset -dpms
xset s off
xset s noblank
# Window-Manager ohne Deko & Cursor
matchbox-window-manager -use_titlebar no -use_cursor no &
# Variablen definieren
CHROME="/usr/bin/chromium"
URL="http://homeassistant.local:8123" # <- ggf. https://<deine-IP>:8123
# Warte optional aufs Netzwerk/Home Assistant (verhindert sofortiges Aus)
for i in $(seq 1 20); do
ping -c1 -W1 homeassistant.local >/dev/null 2>&1 && break
sleep 1
done
# Chromium im Loop: wenn er crasht oder geschlossen wird, Neustart nach 2s
while true; do
"$CHROME" \
--kiosk "$URL" \
--no-first-run \
--noerrdialogs \
--disable-translate \
--overscroll-history-navigation=0 \
--check-for-update-interval=31536000 \
--enable-features=OverlayScrollbar \
--simulate-outdated-no-au='Tue, 31 Dec 2099 23:59:59 GMT'
sleep 2
done
.bash_profile:
# Starte X nur auf TTY1 und nur, wenn noch kein DISPLAY gesetzt ist:
[[ -z $DISPLAY && ${XDG_VTNR:-0} -eq 1 ]] && startx -- -nocursor
Ich bin hier kein Experte, aber bei mir läuft es so, wie ich mir das vorstelle:
Sobald der RPI Strom hat, bootet er ohne GUI direkt in den Kiosk-Modus von Chromium und ruft die entsprechende URL auf.
Bookworm muss wahrscheinlich sein, weil Symcon ja jetzt oder später jeweils die aktuelle Version benötigt, das GUI muss nicht, benötigt wahrscheinlich nur unnötig Ressourcen. Ich würde behaupten das das im Wohnwagen auch nicht läuft.
Eine Konstellation hatte ich bei meinen diversen Versuchen auch, wo der Bildschirm schwarz wurde und man konnte oben ganz links noch so etwas wie einen “Cursor” sehen…
Ich probiere es mal weiter - mal sehen wie weit ich komme…
der Raspberry Pi läuft ja nun dank der Anleitung nach dem Start endlich direkt in den Chromium-Browser und zeigt den Symcon-Webfront-Auswahlbildschirm. Dazu zwei Fragen:
In dem Link zum Start den Chromium-Browsers kann ich ja kein “#” im Link unterbringen weil das dann darauf folgende als “auskommentiert” gewertet wird. Gibt es da einen Trick um direkt im Webfront in die entsprechende Seite des “richtigen” Webfronts zu starten?
Was mir weiterhin auffällt: Das Webfront auf dem direkt am Raspberry Pi angeschlossenen HDMI-Monitor regiert manchmal sehr träge, stürzt auch öfters ab. Wenn ich parallel dazu das gleiche Webfront auf einem MacBook laufen lasse (Anbindung über WLAN), dann reagiert das deutlich schneller auf Veränderungen und stürzt auch nicht ab. Woran könnte das liegen? Ist der Chromium-Browser nicht so gut für das Symcon Webfront geeignet?