Da ich meinen Raspberry Pi 2 dazu verwende, ein Dashboard anzuzeigen, soll der Taschencomputer nach einem Kaltstart automatisch aufstarten, sich mit dem Standardbenutzer in die graphische Oberfläche einloggen und danach ein Web-Browser-Fenster mit einer bestimmten URL öffnen. Dabei soll nur der Web-Site-Inhalt angezeigt werden, nicht aber die Fensteroberfläche des Window-Managers.
Automatischer Login
Auf der Kommandozeile öffnet man raspi-config und aktiviert dort die Option Enable Boot to Desktop/Scratch. Wichtig ist, dass man die Option mit den Cursortasten auswählt und danach mittels Tabulator auf „OK“ springt und dieses auch betätigt.
Quelle: RASPI-CONFIG
Automatischer Start des Web-Browsers mit einer bestimmten URL
Damit nun die gewünschte Web-Site angezeigt wird, muss man dem Betriebssystem nun noch sagen, dass bei jedem Login in die grafische Oberfläche ein entsprechender Befehl ausgeführt werden soll:
~/.config/lxsession/LXDE-pi/autostart
@xset s off @xset -dpms @xset s noblank @unclutter -idle 1 # PROD #@chromium-browser --incognito --kiosk http://dashboard.local/ # DEBUG @chromium-browser --remote-debugging-port=4444 --show-fps-counter --incognito --kiosk http://dashboard.local/
Quelle: How to auto start chromium after boot on the Raspberry 2 (2015-01-31 debian wheezy)?
Ferner: How To Autostart Apps In Rasbian LXDE Desktop
Auch: Raspberry Pi Dashboard Kiosk
Wichtig: In vielen Anleitungen liest man, dass man die Datei /etc/xdg/lxsession/LXDE-pi/autostart (Raspberry Pi 2) respektive die Datei /etc/xdg/lxsession/LXDE/autostart (Raspberry Pi 1) mit den obigen Befehlen ergänzen soll. In meinem Fall hat das zu einer einstündigen Debugging-Session geführt, die erst mit folgendem Hinweis gelöst werden konnte:
Note: If both files are present, lxsession only executes the local file as of v0.4.9
Aus irgendeinem Grund war bei meiner Installation die Datei ~/.config/lxsession/LXDE-pi/autostart vorhanden, weshalb die Einträge in den generischen autostart-Dateien nie berücksichtigt wurden.
Quelle: LXDE
Mauszeiger ausblenden
Damit der Mauszeiger ausgeblendet wird, muss noch folgendes Paket installiert werden:
# apt-get install unclutter
Das Programm wird anschliessend beim Ausführen der Autostart-Datei ausgeführt.
Quelle: Step 16: Hiding the mouse pointer
Alternative: Window Manager umgehen und direkt in ein Browser-GUI starten
Dank an Simon Jenny für den Hinweis — leider bleibt der Bildschirm schwarz, diese Lösung funktioniert also derzeit nicht.
~/.xinitrc
xset -dpms & xset s off & unclutter -idle 1 & exec chromium-browser \ --window-position=0,0 \ --window-size=1080,1920 \ --incognito \ --kiosk \ http://dashboard.local/
Folgende zusätzliche Parameter könnten ebenfalls hinzugefügt werden:
... --no-first-run \ --disable \ --disable-translate \ --disable-infobars \ --disable-suggestions-service \ --disable-save-password-bubble \ --disk-cache-dir=/tmp/chromium/cache/ \ --user-data-dir=/tmp/chromium/user_data/ \ --show-fps-counter \ --remote-debugging-port=4444 \ ...
/etc/rc.local
... /usr/bin/xinit /home/pi/.xinitrc & exit 0
Quelle: Raspberry Pi Information Radiator: Booting into a Browser