Montag, 22. Juni 2015
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