Vollständige Schritt-für-Schritt-Anleitung für Raspbian 64-bit mit Wayland / labwc
Folgenden Befehl in PuTTY oder am Pi-Terminal eingeben:
sudo apt update sudo apt install -y chromium unclutter
Datei anlegen:
nano ~/start-webvisu.sh
Folgenden Inhalt einfügen (BENUTZERNAME und PASSWORT anpassen):
#!/bin/bash
exec > /home/BENUTZERNAME/webvisu.log 2>&1
echo "=== Start: $(date) ==="
echo "WAYLAND_DISPLAY=$WAYLAND_DISPLAY"
sleep 8
echo "=== Sleep fertig ==="
# Warte bis CODESYS WebVisu erreichbar ist
until curl -s http://localhost:8080/webvisu.htm > /dev/null 2>&1; do
echo "Warte auf WebVisu... $(date)"
sleep 2
done
echo "=== WebVisu erreichbar ==="
chromium --kiosk \
--noerrdialogs \
--disable-infobars \
--no-first-run \
--ozone-platform=wayland \
--start-fullscreen \
--disable-session-crashed-bubble \
--password-store=basic \
--use-mock-keychain \
--incognito \
http://BENUTZERNAME:PASSWORT@localhost:8080/webvisu.htm
echo "=== Chromium beendet ==="
Speichern: Strg+O → Enter → Strg+X
| Zeichen | URL-Kodierung |
|---|---|
! | %21 |
" | %22 |
§ | %C2%A7 |
@ | %40 |
# | %23 |
$ | %24 |
% | %25 |
& | %26 |
chmod +x ~/start-webvisu.sh
Verzeichnis erstellen und Datei anlegen:
mkdir -p ~/.config/autostart nano ~/.config/autostart/webvisu.desktop
Folgenden Inhalt einfügen (BENUTZERNAME anpassen):
[Desktop Entry] Type=Application Name=CODESYS WebVisu Exec=bash /home/BENUTZERNAME/start-webvisu.sh X-GNOME-Autostart-enabled=true
Speichern: Strg+O → Enter → Strg+X
Verhindert, dass Chromium beim Start nach einem Keyring-Passwort fragt:
sudo mv /usr/bin/gnome-keyring-daemon /usr/bin/gnome-keyring-daemon.bak
nano ~/.config/labwc/environment
Folgenden Inhalt einfügen:
XSETTINGS_DPMS=false
Speichern: Strg+O → Enter → Strg+X
sudo raspi-config
Dann navigieren zu:
1 System Options → S5 Boot / Auto Login → B4 Desktop Autologin
Mit OK bestätigen und raspi-config beenden.
sudo reboot
Nach dem Neustart startet der Pi automatisch in den Desktop und öffnet die CODESYS WebVisu im Vollbild.
Falls etwas nicht funktioniert, helfen folgende Befehle bei der Diagnose:
cat ~/webvisu.log
sudo ss -tlnp | grep codesys
sudo systemctl status codesyscontrol
Der Kiosk-Modus läuft in mehreren Schichten ab, von der Hardware bis zum Browser. Hier ist der vollständige Ablauf erklärt:
Der Pi startet normal durch. Sobald der Linux-Kernel läuft, übergibt er die Kontrolle an systemd — den Init-Prozess, der alle weiteren Dienste startet.
raspi-config hat systemd so konfiguriert, dass der Standard-Benutzer ohne Login-Bildschirm direkt in den Desktop eingeloggt wird. Ohne diese Einstellung würde der Pi am Login-Bildschirm warten und nie weitermachen.
labwc ist der „Fenstermanager" auf Raspbian 64-bit mit Wayland. Er zeichnet den Desktop und verwaltet Fenster. Nach dem Start liest labwc automatisch alle .desktop-Dateien aus dem Verzeichnis ~/.config/autostart/ und führt sie aus.
labwc findet die Datei ~/.config/autostart/webvisu.desktop und führt die Exec-Zeile aus:
Exec=bash /home/BENUTZERNAME/start-webvisu.sh
Das Script wird im Hintergrund gestartet, sobald der Desktop bereit ist.
Das Script arbeitet drei Aufgaben der Reihe nach ab:
| # | Was passiert | Warum |
|---|---|---|
| 1 | sleep 8 |
Wartet 8 Sekunden, damit Wayland und CODESYS vollständig hochgefahren sind bevor etwas geöffnet wird |
| 2 | until curl ... |
Prüft alle 2 Sekunden, ob die WebVisu unter Port 8080 antwortet — erst wenn ja, geht es weiter |
| 3 | Chromium startet | Öffnet die WebVisu im Kiosk-Vollbild, sobald CODESYS bereit ist |
Chromium startet im Vollbild ohne Adressleiste, Tabs oder Dialoge. Der Parameter --ozone-platform=wayland sorgt dafür, dass Chromium direkt mit dem Wayland-Compositor kommuniziert — ohne diesen Parameter würde Chromium auf Wayland nicht korrekt funktionieren.
Kurzübersicht als Kette:
Strom an
→ Kernel bootet
→ systemd startet Desktop-Login (raspi-config)
→ labwc startet
→ webvisu.desktop wird gelesen
→ start-webvisu.sh wird ausgeführt
→ wartet auf CODESYS (until curl-Schleife)
→ Chromium öffnet WebVisu im Vollbild
| Thema | Information |
|---|---|
| WebVisu-Port | Standard: 8080 |
| Compositor | labwc (Wayland) |
| Log-Datei | ~/webvisu.log |
| Start-Script | ~/start-webvisu.sh |
| CODESYS-Projekt | Muss aktiv auf dem Pi laufen, damit die WebVisu erreichbar ist |
| Passwort-Sonderzeichen | Im URL immer URL-kodieren (Tabelle in Schritt 2) |