Chromium im Kiosk-Modus auf Debian 12 Bookworm automatisch starten
Ich wollte meinen Raspberry Pi so einrichten, dass Chromium im Kiosk-Modus automatisch startet, mehrere Tabs öffnet, die sich automatisch durchwechseln, und dass sich das Gerät jeden Morgen neu startet. So habe ich das auf Debian Bookworm 12 umgesetzt.
1. systemd-Service für den Chromium-Kiosk erstellen
Lege zuerst einen systemd-Service an, der Chromium beim Hochfahren automatisch startet:
sudo nano /etc/systemd/system/chromium-kiosk.serviceInhalt der Datei:
[Unit]
Description=Chromium Kiosk Mode
After=graphical.target
[Service]
User=pi
Environment=DISPLAY=:0
Environment=XAUTHORITY=/home/pi/.Xauthority
ExecStart=/home/pi/start-chromium.sh
Restart=always
RestartSec=5
[Install]
WantedBy=graphical.targetDie wichtigsten Einträge:
User=pi: Chromium läuft unter dem Benutzerpi. Aktuelle Images von Raspberry Pi OS legen diesen Benutzer nicht mehr automatisch an. Ersetzepidann hier und in allen Pfaden durch deinen Benutzer.Environment=DISPLAY=:0: zeigt auf den Hauptbildschirm.ExecStart: Start-Skript für Chromium.Restart=always: startet Chromium neu, falls es abstürzt.WantedBy=graphical.target: startet den Service nach der grafischen Oberfläche.
Lade danach den Daemon neu und aktiviere den Service:
sudo systemctl daemon-reload
sudo systemctl enable chromium-kiosk
sudo systemctl start chromium-kiosk2. Start-Skript für Chromium anlegen
Erstelle jetzt das Start-Skript, das Chromium mit allen gewünschten Optionen öffnet:
nano /home/pi/start-chromium.shInhalt:
#!/bin/bash
/usr/bin/chromium \
--kiosk \
--noerrdialogs \
--disable-infobars \
--disable-session-crashed-bubble \
--disable-translate \
--disable-features=TranslateUI,RendererCodeIntegrity,TabHoverCards,TabHoverCardImages \
--disable-prompt-on-repost \
--disable-save-password-bubble \
--disable-browser-side-navigation \
--disable-component-update \
--disable-background-networking \
--no-first-run \
--no-default-browser-check \
--disable-notifications \
--disable-restore-session-state \
--disable-popup-blocking \
'https://site1.example' \
'https://site2.example' \
'https://site3.example' \
'https://site4.example'Die wichtigsten Optionen:
--kiosk: Vollbildmodus ohne Menüs.--disable-*: entfernt störende Meldungen und Popups.--disable-features: Alle Features gehören in einen einzigen Parameter, durch Kommas getrennt. Mehrfach angegeben gilt nur der letzte.- Die URLs am Ende: Tabs, die beim Start geöffnet werden.
Für das automatische Durchwechseln der Tabs habe ich ein Add-on aus dem Chrome Web Store verwendet, das die Tabs in einem festen Intervall rotiert. So zeigt der Bildschirm alle Seiten abwechselnd an.
Mach das Skript anschließend ausführbar:
chmod +x /home/pi/start-chromium.sh3. Zusätzliche Automatisierungen per cron
Damit der Pi zum Beispiel jeden Morgen frisch startet, nutzt du cron als root:
sudo crontab -eFüge folgende Zeilen hinzu:
# Updates immer Sonntags um 20 Uhr installieren
0 20 * * 0 apt update && apt upgrade -y
# Täglicher Reboot um 7 Uhr
0 7 * * * /sbin/reboot
# Angeschlossenen Monitor um 17 Uhr in den Standby schicken
0 17 * * * /bin/bash -c 'echo "standby 0" | /usr/bin/cec-client -s -d 1'Ergebnis
Beim nächsten Boot startet Chromium automatisch im Kiosk-Modus mit allen Tabs, jeden Morgen um 7 Uhr startet der Raspberry Pi neu, und um 17 Uhr geht der Monitor in den Standby. Das eignet sich für Digital Signage, Infoterminals oder permanente Dashboards.