Benutzer-Werkzeuge

Webseiten-Werkzeuge


anleitung_fuer_linux_kiosk

Installation eines Linux-Kiosk-Clients

(Stand Dez. 2020 für RasPi, jetzt mit Raspberry Pi OS statt Raspbian, Nov. 2019 für Debian Buster)

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.

Es wird nur so viel installiert, dass der Rechner automatisch nach dem Booten eine Webseite anzeigt. Welche das ist, steht am Ende der Zeile, die mit chromium-browser beginnt. Diese wird automatisch alle 10 Minuten zurückgesetzt. Natürlich 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.

Arbeit als Root

  • Installation einer Debianvariante
    • Raspberry Pi OS lite auf Raspberry Pi 3 oder 4
      • beim ersten Login mit pi / raspberry beachten, dass das y noch auf z liegt
      • dann in raspi-config Sprache, auch der Tastatur und ggf. WLAN einrichten
    • Debian Buster auf kleinem PC → firmware-netinst 32 Bit oder 64 Bit ( wähle am Ende ohne Desktopumgebung und Druckserver)
  • Wir benötigen einen User, der später automatisch angemeldet wird
    • unter Raspberry Pi OS existiert bereits der User pi
    • unter Debian Buster bei der Installation einen beliebigen User , z.B. auch pi angeben.
  • Zum automatischen Anmelden dann als User root die Datei /etc/systemd/system/getty@tty1.service.d/autologin.conf (und ggf. das entsprechende Verzeichnis) anlegen mit dem Inhalt:
    autologin.conf
    [Service]
    	ExecStart=
    	ExecStart=-/sbin/agetty --autologin "pi" %I
  • Software nachinstallieren als root oder als pi mit sudo
    apt install xorg fluxbox chromium unclutter xdotool
    • Bei Raspberry Pi OS heißt das dritte Paket chromium-browser.
    • Nur einmal musste folgendes Paket per Hand nachinstalliert werden
      apt install xserver-xorg-legacy
  • 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:
      systemctl enable systemd-timesyncd     # Für den automatischen Start vormerken …
      systemctl start systemd-timesyncd      # … und direkt starten
  • 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 6
  • Nun neu booten mit z.B.
    init 6

Eigentliches Einrichten als User

Nach dem Reboot bist du als pi angemeldet.

...auf der Kommandozeile

  • Lege im Home-Verzeichnis die folgenden zwei Dateien (deren Namen mit einem Punkt beginnen) mit jeweils einer Zeile an
    .bash_profile
    startx
    .xinitrc
    startfluxbox
  • Nun das Kommando
    startx

    eingeben, damit die grafische Oberfläche erstmals gestartet wird.

...in der graphischen Oberfläche chromium konfigurieren

Alt+F2 drücken, in das aufpoppende Eingabefeld chromium-browser bzw. chromium tippen 1) und starten. In die Einstellungen des Browsers gehen. Dort:

  • → Darstellung → Schaltfläche „Startseite“ anzeigen anklicken, dann im neuen Eingabefeld 2) die Zieladresse 3) eingeben.
  • unwirksam ist: → Beim Start → Bestimmte Seite … öffnen → im Eingabefeld die Zieladresse eingeben.
  • → Erweitert → Sprachen → „Übersetzung von fremdsprachigen Seiten anbieten“ abschalten 4)
  • Beende nun erst Chromium (Alt-F4) und dann Fluxbox (rechte Maustaste und Menüpunkt Exit).

...auf der Kommandozeile

  • Ergänze die neue Datei .fluxbox/startup nach dem MAKE SURE-Kommentar wie folgt:
    .fluxbox/startup
    # MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN ''&'' AT THE END.
    xset s
    xset -dpms
    unclutter -grab	-visible &
    chromium-browser --incognito --noerrdialogs --no-first-run --kiosk 192.168.2.100 &
    ( while true; do sleep 600; xdotool key --clearmodifiers "alt+0xff50"; done ) &
  • die beiden xset schalten den Bildschirmschoner ab,
  • unclutter verbirgt den Mauszeiger,
  • chromium-browser bzw. chromium (für Debian ändern!) zeigt die Webseite unter der angegebenen IP-Adresse an und
  • die letzte Zeile läuft in der while-Schleife endlos und lädt alle 10 Minuten (10*60sek) die Startseite neu.

Testen

* einen ersten Test kann man jetzt schon mit

startx

durchführen. Verlasse den Browser wieder mit Alt-F4… * Schließlich neu booten & testen

Anmerkung:

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

1)
tab completion funktioniert auch hier
2)
Keiner will wissen, wie lange man danach suchen kann, wenn man glaubt, dass man die Startseite doch schon unter Startseite (s.u.) eingegeben hat…
3)
Diese Adresse sollte typischerweise mit jener in der Datei startup (s.u.) übereinstimmen, da diese alle 10 Minuten aufgerufen wird, jene jedoch nur beim Start.
4)
leider nicht mehr als Kommandozeilenoption wie früher
anleitung_fuer_linux_kiosk.txt · Zuletzt geändert: 2020/12/09 16:23 von cb