Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Überblick

Aushang

Auf der ersten Seite („Aushang“) werden verschiedene Informationen kombiniert dargestellt:

Pläne

Folgeseiten, die in strenger Reihenfolge angezeigt werden.

Weitere Inhalte

Weitere Features

Bestimmte Einstellungen regeln, was wann wo und wie dargestellt wird:

Technik & Datenschutz

Entwicklung

anleitung_fuer_linux_kiosk

Dies ist eine alte Version des Dokuments!


Installation eines Linux-Kiosk-Clients

(Stand Mai 2022 für PCs mit Debian Bullseye)

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, steht am Ende der Zeile, die mit chromium 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 einrichtenRaspi OS liefert inzwischen chromium in einer für uns nicht brauchbaren Version. Debian ist eine völlig ausreichende Alternative:

  • Debian Bullseye auf RasPi 4
    • Anmeldung als root ohne pw, daher gleich root-PW setzen und für deutsche Tastatur nachinstallieren:
      apt install keyboard-configuration console-setup
  • Debian Bullseye auf kleinem PC → firmware-netinst 32 Bit oder 64 Bit ( wähle am Ende ohne Desktopumgebung und ohne Druckserver)
  • Wir benötigen einen User, der später automatisch angemeldet wird
  • unter Raspberry Pi OS existiert bereits der User pi
  • unter Debian 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 xterm
  • 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.

  • Das geht natürlich auch als Dreizeiler ohne Editor
    echo "startx" > .bash_profile
    echo "startfluxbox" > .xinitrc
    startx 

...in der graphischen Oberfläche chromium konfigurieren

Alt+F2 drücken, in das aufpoppende Eingabefeld 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 noblank
    xset s off
    xset -dpms
    unclutter -grab	-visible &
    chromium --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 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.1652436125.txt.gz · Zuletzt geändert: 2022/05/13 12:02 von cb