Benutzer-Werkzeuge

Webseiten-Werkzeuge


anleitung_fuer_linux_kiosk

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
anleitung_fuer_linux_kiosk [2020/12/09 16:19] cbanleitung_fuer_linux_kiosk [2023/07/17 16:01] (aktuell) – [Konfiguration] cb
Zeile 1: Zeile 1:
 =====Installation eines Linux-Kiosk-Clients===== =====Installation eines Linux-Kiosk-Clients=====
-(Stand Dez. 2020 für RasPi, 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.+===Juli 2023===
  
-Es wird nur so viel installiertdass 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 ändernAuf diese Weise wird aber bei fehlender Erreichbarkeit des Webservers (z.B. NetzwerkproblemeStromausfall) zumindest die Startseite immer wieder geladenbis der Server wieder erreichbar ist.+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 bisherige Anleitung ist recht schematischdaher gibt es nun ein Skriptdas dies alles erledigt.
  
-==== Arbeit als Root ==== +Es wird nur so viel installiert, dass der Rechner automatisch nach dem Booten eine **Webseite** anzeigtWelche das ist, wird im Browser als **Home** (StartseitefestgelegtDiese Seite wird automatisch alle 10 Minuten (600 Sekunden - s.u.) zurückgesetztNatürlich kann/wird die Seite selbst per refresh viel früher den Inhalt ändernAuf diese Weise wird aber bei fehlender Erreichbarkeit des Webservers (z.BNetzwerkprobleme, Stromausfallzumindest die Startseite immer wieder geladenbis der Server wieder erreichbar ist
-  * 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 [[http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/current/i386/iso-cd/|32 Bit]] oder [[http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/current/amd64/iso-cd/|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:<file ini autologin.conf>[Service] +
- ExecStart= +
- ExecStart=-/sbin/agetty --autologin "pi" %I</file> +
-  * Software nachinstallieren als //root// oder als //pi// mit sudo<code bash>apt install xorg fluxbox chromium unclutter xdotool</code> +
-      * Bei Raspbian heißt das dritte Paket chromium-browser. +
-      * Nur einmal musste folgendes Paket per Hand nachinstalliert werden <code bash>apt install xserver-xorg-legacy</code> +
-  * 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:<code bash>23 23 * * * root /usr/sbin/init 6</code> +
-  Nun neu booten mit z.B. <code bash>init 6</code> +
-====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 beginnenmit jeweils einer Zeile an <file bash .bash_profile>startx</file><file bash .xinitrc>startfluxbox</file> +
-  * Nun das Kommando <code bash>startx</code> 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 ((tab completion funktioniert auch hier)) und starten. In die Einstellungen des Browsers gehen. Dort: +
-  * -> Darstellung -> Schaltfläche "Startseite" anzeigen anklicken, dann im neuen Eingabefeld ((Keiner will wissen, wie lange man danach suchen kann, wenn man glaubt, dass man die Startseite doch schon unter Startseite (s.u.) eingegeben hat...)) die **Zieladresse** ((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.)) eingeben. +
-  * //unwirksam ist: -> Beim Start -> Bestimmte Seite ... öffnen -> im Eingabefeld die Zieladresse eingeben.// +
-  * -> Erweitert -> Sprachen -> "Übersetzung von fremdsprachigen Seiten anbieten" abschalten ((leider nicht mehr als Kommandozeilenoption wie früher)) +
-  * 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:<file bash .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 &</file> +
-  *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==== +Es finden nach der Betriebssysteminstallation zwei Konfigurationsschritte statt, zuerst als Root, dann als User pi.
- * einen ersten Test kann man jetzt schon mit <code>startx</code> durchführenVerlasse den Browser wieder mit Alt-F4... +
- * Schließlich neu booten & testen+
  
-==Anmerkung:== +Sie können das Ganze manuell durchführen, [[anleitung_fuer_linux_kiosk_manuell|siehe hier]]. 
-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+ 
 +Ab sofort gibt es aber ein Konfigurationsskript, das im Folgenden verwendet wird. 
 + 
 +==== Installation ==== 
 +  * Installation einer Debianvariante ohne GUI (getestet mit Debian Bookworm amd64 netinst **ohne Desktopumgebung** exemplarisch auf einem Fujitsu ThinClient "Futro S720"). Dazu müssen Sie sich einen USB-Stick mit einem Image der netinst-CD erstellen. Siehe [[https://www.debian.org/CD/netinst/index.de.html]]. 
 +  * Keinen root-Account, aber den User pi mit Passwort anlegen lassen. 
 +  * Keine Desktopumgebung installieren lassen! 
 +  * Wenn die Installation durchgelaufen ist, wird der Rechner automatisch **gebootet**. 
 +==== Konfiguration ==== 
 +  * Nun am Rechner anmelden und den folgenden Befehl eingeben. <code bash>wget https://tabula.info/download/kiosk.sh && sudo bash kiosk.sh</code> 
 +  * Er lädt die Datei kiosk.sh herunter und startet sie mit Administratorrechten. 
 +    * Zuerst wird man nach einem lokalen ntp-Server gefragt - das kann man auch leer lassen. 
 +    * Dann wird die benötigte Software nachinstalliert 
 +    * Einige Dateien werden angelegt, u.a. das zweite Konfigurationsskript kiosk_pi.sh. 
 +  * Danach **bootet** der Rechner neu und startet automatisch mit dem User pi und einem zweiten Konfigurationsskript. 
 + 
 +  * Dieses zweite Skript fordert dazu auf, den Firefox zu starten und zu konfigurieren. 
 +    * In den Einstellungen muss die Startseite auf den Tabulaserver eingestellt werden. 
 +    * In der Adresszeile <code>about:config</code> eingeben und dann die Einstellung <code>browser.sessionstore.restore_on_demand</code> auf FALSE setzen. 
 +  * Dann den Firefox mit Alt-F4 beenden und Fluxbox mit der rechten Maustaste im Kontextmenü beenden. 
 + 
 +  * Dann wird die GUI zum Testen erneut gestartet. 
 +  * Nun kann der Rechner neu gestartet werden und ist einsatzbereit.  
 +===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.
anleitung_fuer_linux_kiosk.1607527190.txt.gz · Zuletzt geändert: 2020/12/09 16:19 von cb