Montag, 22. Juni 2015

Raspberry Pi 2 einrichten (6/n): Automatisch in einen Web-Browser starten

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

Liked this post? Follow this blog to get more. 

Tags: , , , , , , , ,
Labels: IT, Linux

4 Kommentare Kommentare

Simon Jenny sagt:

Auch hier habe ich Dir noch einen kleinen Tipp. Wenn Du Chromium im Kiosk Modus als Dashboard oder als Digital Signage benutzt, kannst Du wenn du Chromium direkt mit xinitrc startest den Fenstermanager sparen. So gewinnst Du noch ein wenig Arbeitsspeicher. Ausserdem habe ich Dir hier noch ein paar Command Line Arguments die aus dem Chrome ein echten Kiosk Browser für ein Dashboard machen :

/home/pi/.xinitrc :

xset -dpms &
xset s off &
unclutter -idle 1 &

exec chromium \
–window-position=0,0 \
–window-size=1920,1080\
–no-first-run \
–disable \
–disable-translate \
–disable-infobars \
–disable-suggestions-service \
–disable-save-password-bubble \
–disk-cache-dir=/tmp/cache/ \
–user-data-dir=/tmp/user_data/ \
–kiosk „http://dashboard.local/“

Marino sagt:

Danke für den Tipp mit dem Autostart.
Ich suche schon seit Stunden danach und habe immer nur alles in die /etc/xdg/lxsession/LXDE-pi/autostart und /etc/xdg/lxsession/LXDE/autostart eingefügt. Deine Seite war die erste, die auf eine dritte autostart-Datei hingewiesen hat, womit mein Eintrag endlich sofort funktionierte.

Danke hierfür!

Viele Grüße
Marino

David sagt:

Hallo,

ich versuche auch Chromium zu starten auf dem RP2.
Ich habe beide Dateien (in LXDE-pi und LXDE) angepasst, kann aber mit deinem Hinweis in Bezug auf die Verwendung der lokalen Datei nichts anfangen. (Note: If both files are present, lxsession only executes the local file as of v0.4.9). Hast du eine der Dateien gelöscht oder wie hast du das Problem gelöst?

Vielen Dank im Voraus.

David

Achim sagt:

Hallo David,
ich habe die Datei ~/.config/lxsession/LXDE-pi/autostart gelöscht, danach hat es funktioniert.
Gruß Achim

Kommentar erfassen