Manuelle Installation eines Linux-Kiosk-Clients
Ziel ist es mit Linux einen Anzeigerechner zu bauen, der nach dem Einschalten hochfährt (BIOS-Einstellung bei einem PC, automatisch bei einem RasPi) und selbständig eine Webseite aufruft. Diese sollte dann per refresh o.Ä. eigenständig Aktualisierungen der Anzeige durchführen, was z.B. tabula.info so macht. Die folgende Anleitung ist recht schematisch, daher wird es zur Version 2.1 ein Skript geben, das dies alles erledigt.
Es wird nur so viel installiert, dass der Rechner automatisch nach dem Booten eine Webseite anzeigt. Welche das ist wird im Browser als Home (Startseite) festgelegt. Diese Seite wird automatisch alle 10 Minuten (600 Sekunden - s.u.) zurückgesetzt. Natürlich kann/wird die Seite selbst per refresh viel früher den Inhalt ändern. Auf diese Weise wird aber bei fehlender Erreichbarkeit des Webservers (z.B. Netzwerkprobleme, Stromausfall) zumindest die Startseite immer wieder geladen, bis der Server wieder erreichbar ist.
Es finden zwei Installationsschritte statt, zuerst als Root, dann als User pi.
Installation einer Debianvariante ohne GUI (getestet mit RasPi OS lite 64Bit auf RasPi 3B, RasPi OS lite 32Bit auf RasPi 2B, sowie Debian amd64 netinst ohne Desktopumgebung exemplarisch auf einem Fujitsu ThinClient “Futro S720” )
beim ersten Start den User pi mit Passwort anlegen lassen.
RasPi: ggf. in raspi-config WLAN einrichten.
Zum automatischen Anmelden müsste man die Datei
/etc/systemd/system/getty@tty1.service.d/autologin.conf
(und ggf. das entsprechende Verzeichnis) anlegen, was Raspi OS bereits
hat. Der Minimalinhalt wäre:
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin "pi" %ISoftware nachinstallieren:
apt install firefox-esr fluxbox unclutter xdotool xorg xtermSoftware entfernen (nur RasPi OS und deine eigene Entscheidung - bei uns mit vielen WLAN-Clients resultieren über 50% Prozessorlast):
apt remove --purge avahi-daemon*Zeitserver einrichten:
* In der Datei ''/etc/systemd/timesyncd.conf'' die Kommentarzeichen ab ''[Time]'' entfernen und den hausinternen Zeitserver hinter ''NTP='' eintragen
* Dann den Dienst einschalten und starten:<code bash>systemctl enable systemd-timesyncd # Für den automatischen Start vormerken …
systemctl start systemd-timesyncd # … und direkt starten</code>
Wer pessimistisch ist, lässt den Raspi/Rechner nachts neu booten, z.B. mit einem Eintrag in der /etc/crontab:
23 23 * * * root /usr/sbin/init 6Nun neu booten mit z.B.
init 6Nach dem Reboot bist du als pi angemeldet.
Lege im Home-Verzeichnis zwei Dateien an und starte die graphische Oberfläche. Das geht einfach als Dreizeiler ohne Editor
echo "startx" > .bash_profile
echo "startfluxbox" > .xinitrc
startx Alt+F2 drücken, in das aufpoppende Eingabefeld firefox tippen (tab completion funktioniert auch hier) und starten. Im Burgermenü in die Einstellungen (Settings) des Browsers gehen. Dort:
Ergänze die neue Datei .fluxbox/startup nach dem MAKE SURE-Kommentar wie folgt:
# MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN ''&'' AT THE END.
xset s noblank
xset s off
xset -dpms
unclutter -grab -visible &
firefox --kiosk &
( while true; do sleep 600; xdotool search --name "Mozilla Firefox" key --clearmodifiers "Alt+Home"; done ) &*die beiden xset schalten den Bildschirmschoner ab,
*unclutter verbirgt den Mauszeiger,
*Firefox zeigt die oben eingestellte Webseite an und
*die letzte Zeile läuft in der while-Schleife endlos und lädt alle 10 Minuten (10*60sek) die Startseite neu.
einen ersten Test kann man jetzt schon mit startx
durchführen. Verlasse den Browser wieder mit Alt-F4!
Es wird kein Schutz gegen das Beenden des Browsers vorgenommen. Mit Alt-F4 ist man auf der Oberfläche von Fluxbox. An den Rechner sollte also keine Tastatur angeschlossen sein.