Chromium Kiosk Modus unter Raspbian Jessie
Unter dem aktuellen Raspbian Jessie ist der standardmäßige Webbrowser nun Epiphany, der im Gegensatz zum Midori Webbrowser von Wheezy den aktuellen HTML5 Standard unterstützt. Allerdings dürfte die Frage nach dem richtigen Webbrowser wahrscheinlich genau die gleiche individuelle und auf persönliche Vorlieben und Erfahrungen gestützte Antwort wie die Frage nach dem besten Betriebssystem sein. Da ich persönlich auf allen meinen Geräten den Chrome-Webbrowser von Google verwende, ist die Wahl des Webbrowser Chromium auf dem Raspberry Pi somit vorbestimmt.
Chromium installieren
Die erste Hürde bei der Installation des Chromium Webbrowser ist, in der aktuellen Raspbian Jessie Version gibt es kein Chromium-Paket mehr und somit klappt der “apt-get install chromium” Befehl nicht mehr. Auf der Suche im Web nach einer Lösung habe ich wie üblich viele Ansätze gefunden. Im folgenden möchte ich dir nun den Weg zur lauffähigen Installation zeigen, welcher bei mir funktioniert hat. Als Grundlage hierfür kannst du dir gerne den Beitrag Running the latest Chromium 45 on Debian Jessie on your Raspberry Pi 2 genauer ansehen, in den Kommentaren findest du den von mir verwendeten Ansatz.
Um die aktuellen Versionen bzw. den aktuellen Link zum Download von Launchpad auf den Raspberry Pi zu erhalten, kannst du dir über libgcrypt11, Chromium und Chromium codecs die jeweils aktuelle Versionsnummer und den entsprechend Link besorgen. Den Link musst du an den wget Befehl zum Download anhängen und danach die Pakete mit dem dpkg Befehl installieren.
1 2 3 4 5 6 7 |
wget http://launchpadlibrarian.net/279485265/libgcrypt11_1.5.3-2ubuntu4.4_armhf.deb wget http://launchpadlibrarian.net/263322752/chromium-browser_51.0.2704.79-0ubuntu0.14.04.1.1121_armhf.deb wget http://launchpadlibrarian.net/263322754/chromium-codecs-ffmpeg-extra_51.0.2704.79-0ubuntu0.14.04.1.1121_armhf.deb sudo dpkg -i libgcrypt11_1.5.3-2ubuntu4.4_armhf.deb sudo dpkg -i chromium-browser_51.0.2704.79-0ubuntu0.14.04.1.1121_armhf.deb sudo dpkg -i chromium-codecs-ffmpeg-extra_51.0.2704.79-0ubuntu0.14.04.1.1121_armhf.deb |
Nach der Installation steht dir der Chromium-Webbrowser auf deinem Raspberry Pi zur Verfügung.
Folgende Bilder zeigen dir am Beispiel von libgcrypt den Weg, wie du am einfachsten an den Link zum aktuellen Download kommst.
Kiosk Modus im Autostart einrichten
Damit der Browser mit deiner Webanwendung bzw. der gewünschten Website beim Systemstart gestartet wird, ergänzen wir die Autostart Einstellungen. Für den Kiosk-Modus empfehlen sich noch weitere Einstellungen, die man auch im Autostart vornimmt.
Der Aufruf erfolgt über das Terminal mit folgendem Befehl.
1 |
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart |
Durch das auskommentieren der Zeile
1 |
@xscreensaver -no-splash |
mit # schalten wir den Bildschirmschoner ab.
Damit der Monitor bzw. das Display immer an bleibt, fügen wir folgende Befehle in die Datei ein.
1 2 3 |
@xset s off @xset s noblank @xset -dpms |
Damit der Webbrowser nun im Kiosk-Modus startet, kommt noch folgender Befehl hinzu.
1 |
@chromium-browser --noerrdialogs --kiosk --incognito https://url.de |
Statt https://url.de verwendest du die von dir gewünschte Adresse. Wenn sich die Datei auf deinem Raspberry Pi befindet, gibst du einfach den Pfad und den Dateinamen an, z.B. /var/www/html/index.html.
Beenden des Chromium im Kiosk-Modus
Das Browserfenster bzw. den Chromium-Kiosk-Modus kannst du mit der Tastenkombination Strg + F4 beenden.
Hallo Wolfgang,
hast du noch eine Idee, wie man beim Beenden über Alt+F4 auch gleich den User abmeldet ?
Vielen Dank
Andreas
Hallo Andreas,
eine einfache Lösung ist mir nicht bekannt. Mir fallen hier zwei Ansätze ein. Der eine wäre die Überwachung der Prozesse im Hintergrund mit einem Skript, welches beim Schließen des Chromium-Browsers eine Abmeldung erzeugt. Der andere Ansatz wäre, der Benutzer muss über eine von dir generierte Webseite die Abmeldung herbeiführen.
Viele Grüße
Wolfgang
hello Wolfgang
vielen Dank für die doch sehr schnelle Rückmeldung, auch ich dachte an das selbe
sonnige Grüsse
Max
Hallo Max,
gern geschehen und viel Spaß beim Umsetzen.
Viele Grüße
Wolfgang
hallo Wolfgang,
besten Dank für diese sehr gute Anleitung.
Jetzt hätte ich eine Frage dazu, wie kann ich mehrere URL’s anzeigen? Von der Ersten welche über eine Navigation verfügt kann ich es einrichten, dass eine andere URL angezeigt wird.
Aber zurück zu ersten habe ich dann keine Möglichkeit dazu. Der Raspi mit Touchscreen läuft als Bedienungspanel 24/7, hierzu ist eben der Kiosk-Modus sehr geeignet und es gibt auch keine externen Bedienungselemente
Gruss
Max
Hallo Max,-Button.
vielen Dank für dein positives Feedback. Eine Hinterlegung von mehreren URLs ist beim Aufruf nicht möglich. Der Befehl startet den Webbrowser im Kiosk-Modus und ruft hier eine URL auf. Selbst wenn du hier ein Menü mit mehreren URLs anbietest, benötigst du auf der aufgerufenen Webseite einen
Mir fällt jetzt spontan nur die Möglichkeit über iFrame ein. Dies ermöglicht dir, externe Inhalte in deine HTML-Datei einzubinden. Beim Aufruf deiner Webseite lädt das iFrame den Fremdinhalt innerhalb des hinterlegten Rahmens auf deine ersten Seite. So könntest du über ein Menü mehrere URLs im Bedienungspanel anzeigen.
Eine Beschreibung zum iFrame Befehl findest du unter w3schools.
Viele Grüße
Wolfgang
Hallo Wolfgang,
ich habe nun alles eingegeben leider startet der Browser nicht Automatisch.. ich geh davon aus ich es richtig gemacht habe da es ja schon mal funktioniert hat. Die Speicherung geht ja mit STRG und O früher habe ich keinen Dateinamen eingeben müssen nun muss ich aber einen Dateinamen eingeben um es zu speichern ist das eventuell die Ursache ? Wenn ja was mache ich falsch ?
Danke
Grüße Martin
Hallo Martin,
so aus der Ferne würde ich meinen, bei deinem Dateiaufruf (sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart) funktioniert etwas nicht. Wenn Du die autostart-Datei unter einem anderen Namen abspeicherst, kann der Aufruf nicht klappen.
Viele Grüße
Wolfgang
Hallo, ich hätte da mal eine Frage.
Ist es möglich im Kisok Modus zu starten und einen virtuellen Knopf zum herunterfahren herzustellen, weil ich nach dem einrichten keine Tastatur anhängen will.
Bitte um rückmeldung
Gruß Visva
Hallo Visva,
die Programmierung eines virtuellen Knopf zum abschalten des Systems ist möglich. Allerdings lässt sich dieser nicht einfach auf jede Website einblenden. Wenn du die darzustellenden Website selbst erstellst, kannst du die Ausschaltfunktions selbst einbinden. Ansonsten wird die Programmierung aufwendiger. Vielleicht ist die Steuerung per Fernbedienung etwas einfacher zu gestalten.
Viele Grüße
Wolfgang
Danke, hat sehr geholfen!
Vielen Dank für die Rückmeldung.
Hallo Wolfgang,
gibt es eine Möglichkeit den RPI im Kiosk Modus zu starten und so einzustellen das man z.B. ein Passwort benötigt um diesen zu verlassen oder ihn erst gar nicht verlassen kann? Dann könnte man das Image zwar für nichts anderes mehr verwenden aber das wäre ok für meine Anwendung.
Gruß
Stepahn
Hallo Stephan,
der “Kiosk Modus” ist ja eine besondere Form des Browseraufrufes. Da der Browser ein Programm des Systems ist, lässt es sich auch über das System (z.B. Tastenkombination Strg + F4) schließen. Das gewünschte Szenario lässt sich mit entsprechender Programmierung umsetzen. Hierzu solltest du dich mit der Embedded Entwicklung von Linux-Systemen auseinandersetzen.
Viele Grüße
Wolfgang
Hallo Günther,
echt tolle Anleitung.
Ich starte den Browser automatisch durch “chromium –incognito –kiosk –app=http://localhost/index.html” in der Datei “/home/pi/.xinitrc”.
Das funktioniert auch sehr gut. Allerdings bekomme ich in seltenen Fällen (vielleicht 1 von 100) eine Fehlerausgabe: 404 (HTTP-Status). Warum tritt dieses Problem auf? Wie löse ich das Problem? Was macht “–noerrdialogs”?
Viele Grüße
Tiffy
Hallo Titty,
vielen Dank für Deinen Kommentar. Der Fehler 404 zeigt an, dass der Browser die verlinkte Datei nicht findet. Ich Tippe mal auf darauf, der Webserver wird in diesen Fällen nach dem Browser vom System gestartet. Du solltest nach einer Möglichkeit schauen, den Browser nach dem Webserver zu starten. “-noerrdialogs” verhindert Fehlermeldungen des Browsers, allerdings keinen Ladefehler wie bei Dir. Es wird zum Beispiel der Hinweis “… wurde nicht ordnungsgemäß beendete, letzte Sitzung wiederherstellen?” unterbunden.
Viele Grüße
Wolfgang
Guten Tag,
die Anleitung hat mir wirklich sehr geholfen, doch trotz “-noerrdialogs” bekomme ich die Meldung, dass “die letzte Sitzung nicht ordnungsgemäß beendet wurde… Tabs wiederherstellen?” gibt es da eine Möglichkeit diese zu unterdrücken?
Mit Freundlichen Grüßen
Maik
Hallo Maik,
vielleicht helfen dir die beiden Ergänzungen nach –noerrdialogs:
–disable-session-crashed-bubble –disable-infobars
Viele Grüße
Wolfgang
Hallo Wolfgang,
danke für die Anleitung – damit hast Du sicher vielen eine ganze Menge an Recherche und Sucherei erspart. Wir verwenden den Raspi ebenfalls im Kioskmodus für ein elektronisches Infoboard. Da es nicht den ganzen Tag läuft, hängt der Raspi an einer Zeitschaltuhr. Das lief einige Male problemlos – dann auf einmal zeigte der Raspi nur noch ein schwarzes Bild an. Da wir nichts verändert haben, war meine Vermutung: automatisches Update? Konnte aber nichts finden. Ich habe Chromium dann mal ohne Kioskmode gestartet und da kamen jede Menge hinweise auf “beim letzten Mal nicht korrekt heruntergefahren”. Mist, wenn die Systeme so fürchterlich schlau mitdenken … aber Recht hat er ja. Zeitschaltuhr auf AUS und dann AN ist ja kein ordentliches Reboot…
Hast Du eine Idee, wie ich dem System zeitgesteuert beibrigen kann, so herunterzufahren, dass Chromium nicht beim nächsten Boot meldet “beim letzten Mal nicht ordentlich heruntergefahren”?
Grüße,
Christoph
Hallo Christoph,
vielen Dank für Deinen Kommentar. Ein Ansatz wäre ein kleines Python-Script, welches beim Booten automatisch gestartet wird.
Inhaltlich würde entsprechend der gewünschten Laufzeit des Raspberry Pi ein time.sleep gesetzt sein. Nach Ablauf würde der RasPi herunterfahren.
Ansatz des Skripts:
sek = gewünschte Zeit in Sekunden
time.sleep( sek )
os.system(“sudo shutdown -h now”)
sys.exit()
Viele Grüße
Wolfgang
Hallo Wolfgang,
ein sehr guter Artikel (https://www.webnist.de/chromium-kiosk-modus-unter-raspbian-jessie/), der mich wirklich weiter gebracht hat. Jedoch habe ich noch ein Problem:
Ich möchte im KIOSK-Modus immer eine Datei vom USB-Stick anzeigen lassen. D.h. es wird stets der gleiche Dateiname und das gleiche Format benutzt (setlist.pdf), der Inhalt kann sich zwar ändern aber vor jedem Raspberrystart ist der USB-Stick mit dieser Datei eingesteckt. Das habe ich, wie in Deinem Artikel beschrieben (…/var/www/html/index.html..), mal mit meinem Pfad ausprobiert (/media/pi/usb/setlist.pdf), leider erfolglos (ERR_FILE_NOT_FOUND).
Was mach ich falsch?
Kann ich den Mauszeiger in der /home/pi/.config/lxsession/LXDE-pi/autostart ausblenden lassen?
Danke für Deine Hilfe im Voraus.
Viele Grüße,
JAN
Hallo Jan,
entschuldige bitte die späte Antwort. Solltest Du noch keine Lösung gefunden haben, probiere es einmal mit folgendem Pfad: file:///media/pi/usb/setlist.pdf. Dabei sollte der USB-Stick auch die Bezeichnung “usb” haben. Sonst bitte den Namen des USB-Sticks verwenden. Danach dürfte es funktionieren.
Den Mauszeiger kannst Du mit dem Befehl @unclutter (z.B. nach @xset -dpms) ausblenden.
Viele Grüße
Wolfgang
Hallo,
gibt es auch noch einen anderen Modus als den KIOS – Modus?
Ich hätte gerne, dass der Bildschirm zwar ausgefüllt, aber nicht im Vollbild ist.
LG
Hallo Michael,
die gesuchten Befehle lauten: –start –maximized statt der verwendeten –noerrdialogs –kiosk –incognito
Viele Grüße
Vielen Dank für die Anleitung. Ich habe damit einen raspberry zum Infobildschirm für iServ in unserer Schule konfigurieren können. Diese Seite – und natürlich der Verfasser derselben – waren mir sehr hilfreich.
Hallo Christian,
vielen Dank für die positive Rückmeldung.
Viele Grüße
Wolfgang
Kleiner Hinweis, alle Kommentare werden moderiert.
Dies bedeutet, der Kommentar wird vor der Veröffentlichung durchgelesen und von mir geprüft. Auch behalte ich mir vor, jeden Kommentar zu löschen, der nicht direkt auf das Thema abzielt oder nur den Zweck hat, Leser oder Autoren herabzuwürdigen.
Neuste Beiträge
Kleinen Spickzettel für Raspbian OS Befehle
Entdecke die Welt von Webnist.de
Erfahre mehr über die Hintergründe meines Blogs und wie ich dich bei deinen digitalen Projekten unterstützen kann.Kategorien
KATEGORIEN
Aktuelles Video auf YouTube
Beschreibung der Verwendung eines TTP223B Touch Sensors am GPIO Port des Raspberry Pi mit Python.
Die aktuell 6 derzeit meistbesuchten Beiträge
Beiträge mit den meisten Kommentaren
Funktional Immer aktiv
Vorlieben
Statistiken
Marketing