OpenKiosk ist eine speziell angepasste Version des Mozilla Firefox Browsers, mit dem man ein einfaches Infoterminal/Digital Signage aufbauen kann. Die Software gibt es für GNU/Linux, macOS, Windows und ist unter der MPL erschienen.
Es folgt ein kompletter Guide, wie das Ganze umgesetzt werden kann.
Als Unterbau wurde Debian gewählt, mit der XFCE Desktopumgebung. XFCE ist ressourcenschonend und sehr gut anpassbar. Außerdem lassen sich hier sehr einfach alle Tastenkombinationen entfernen. Dazu später mehr.
Grundinstallation
Für die Grundinstallation wurde die aktuelle Version von Debian verwendet, mit der Netzwerkinstallation. Bei der Auswahl der zu installierenden Software (taskel) wurde alles abgewählt, bis auf die Standard-Systemwerkzeuge. Neben root wurde ein separater user angelegt.
Grundkonfiguration
Nach dem Abschluss der Grundinstallation und einem Neustart wurden folgende Pakete installiert: apt install xfce4 xfce4-terminal ufw libgdk-pixbuf2.0-0 libgdk-pixbuf-xlib-2.0-0 dbus-x11 lightdm
lightdm wird verwendet, um den Kiosk-Account (user) automatisch anzumelden. Hierzu unter /etc/lightdm/lightdm.conf
das Ganze wie folgt abändern:
[Seat:*]
[...]
autologin-user=user
[...]
ufw (Uncomplicated Firewall) wie folgt konfiguriert: ufw default deny && ufw enable
Unter Anwendungen -> Einstellungen -> Tastatur -> Tastenkürzel für Anwendungen
alle Einträge löschen. Ähnlich verfährt man auch unter Anwendungen -> Einstellungen -> Fensterverwaltung -> Tastatur
. Hier muss man dann zu jeder Aktion
das entsprechende Tastenkürzel löschen. Somit kann kein Tastenkürzel genutzt werden, außer Umschalt+F1
, um OpenKiosk zu beenden und/oder aus dem Kiosk-Modus auszubrechen.
Damit die Nutzer*innen nicht auf eine virtuelle Konsole (z. B. Strg+Alt+F1 usw.) wechseln können, muss dieses Feature deaktiviert werden. Hierzu die Datei unter /etc/X11/xorg.conf.d/21-disable-tty.conf
mit folgendem Inhalt anlegen:
Section "ServerFlags"
Option "DontVTSwitch" "true"
EndSection
Installation von OpenKiosk
Mit Hilfe von wget heruntergeladen: wget https://www.mozdevgroup.com/dropbox/okcd/91.0/Release11/OpenKiosk91.7.0-2022-02-22-x86_64.deb
Checksum überprüft: SHA256 (OpenKiosk91.7.0-2022-02-22-x86_64.deb) = 8cd5589d9318b97631979d44b874695cfae135765a66f40cbd421d99cd41a5b9
Das deb-Paket via dpkg installiert: dpkg -i OpenKiosk91.7.0-2022-02-22-x86_64.deb
Danach findet man OpenKiosk im Anwendungsmenü unter dem Punkt Internet.
Konfiguration von OpenKiosk
Beim ersten Start von OpenKiosk startet der Browser im Vollbild. Um den Vollbildmodus zu beenden, drückt man Umschalt+F1
. Hier taucht dann unterhalb der Adresszeile eine weitere Zeile auf, in die man das login password
eingeben soll. Standardmäßig ist das admin
.
Danach ist der Vollbildmodus beendet und man landet in den Einstellungen von OpenKiosk. Neben den Standardeinstellungen von Firefox gibt es auch den Reiter OpenKiosk.
Folgende Punkte wurden abgeändert:
Redirect Screen
aktiviert mit der gewünschten URL- diese URL wird aufgerufen, wenn man z. B. einen Link anklickt und somit eine Webseite geladen werden soll, die nicht auf der Whitelist steht
Filter URLs
aktiviert- hier kann man zwischen White- und Blacklist wählen
- um eine Whitelist zu erstellen, die nur eine bestimmte Domain zulässt, aktiviert man Whitelist und schreibt bei den Filterregeln
filter[https://*.gnulinux.ch, ALL]
rein und speichert diese anschließend ab
Reset Session
kann nach Belieben gesetzt werden- gibt an, nach wie vielen Sekunden/Minuten die Session neu gestartet werden soll
Tabbed Browsing
deaktiviert- somit kann nicht mit Tabs gearbeitet werden
Personal Toolbar
deaktiviert- hier könnte man Lesezeichen o. Ä. ablegen
Media
deaktiviert- automatisches abspielen von Ton & Video usw.
Context Menu
deaktiviertQuit
Enable Quit Button Password
nicht abwählen (!), da man sonst OpenKiosk ohne Passwort beenden bzw. Einstellungen vornehmen kann
Password
- Password um OpenKiosk zu beenden bzw. um in die Einstellungen zu gelangen
- Standardpasswort abändern (!)
Printing
deaktiviertKeyboard Shotcuts
Enable Settings Keys
nicht abwählen (!), da man sonst den Vollbildmodus nicht verlassen kann mitUmschalt+F1
Außerdem wurde noch im Reiter Home
unter Homepage and new windows
die gewünschte Startseite gesetzt.
OpenKiosk automatisch starten nach Kiosk-Account-Anmeldung
Hierzu unter Anwendungen -> Einstellungen -> Sitzung und Startverhalten
aufrufen. Unter dem Reiter Automatisch gestartete Anwendungen
OpenKiosk hinzufügen. Dazu klickt man auf das Pluszeichen, gibt Name und Beschreibung an und unter Befehl trägt man OpenKiosk
ein. Auslöser belässt man unverändert. Mit OK abschließen.
Automatisches Update des Grundsystems
Das kann über die /etc/crontab
geregelt werden:
30 16 * * 5 root /usr/bin/apt update && /usr/bin/apt upgrade -y && /usr/sbin/shutdown -r now
Das System sucht jeden Freitag, um 16:30 Uhr, nach Updates, installiert diese ggf. und startet das Gerät einmal durch.
Zeitplan erstellen, wann das Infoterminal verfügbar sein soll
Wenn das Infoterminal nicht 24/7 verfügbar sein muss, kann man auch via Skript (rtcwake) und der /etc/crontab
einen „Zeitplan“ erstellen. Z. B. folgende Datei unter /opt/wake.sh
mit folgendem Inhalt erstellen:
#!/bin/bash
rtcwake -m mem -a -t $(date +%s -d "tomorrow 07:40")
Hier wird dem Infoterminal mitgeteilt, dass es sich bis morgen, 07:40 Uhr, schlafen legen und dann wieder aufwachen soll.
Sollte z. B. ein Wochenende dazwischen sein, kann man auch folgenden Inhalt verwenden (/opt/wake_we.sh
):
#!/bin/bash
rtcwake -m mem -a -t $(date +%s -d "monday 07:40")
Über /etc/crontab
werden die Skripts dann zum gewünschten „Schlafzeitpunkt“ ausgeführt:
30 17 * * 1-4 root /opt/wake.sh
40 16 * * 5 root /opt/wake_we.sh
wake.sh
wird immer von Montag bis Donnerstag, um 17:30 Uhr, und wake_we.sh
am Freitag, um 16:40 Uhr, ausgeführt.
Nach einem Neustart ist das Infoterminal vollständig betriebsbereit und kann genutzt werden. Viel Spaß beim Nachbauen!
Quelle: https://openkiosk.mozdevgroup.com/
Quelle des Hauptbildes: https://openkiosk.mozdevgroup.com/images/raspi-ok.png