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 [2022/05/13 12:03] – [Arbeit als Root] cbanleitung_fuer_linux_kiosk [2022/08/01 14:51] (aktuell) – [Arbeit als Root bzw. mit sudo] cb
Zeile 1: Zeile 1:
 =====Installation eines Linux-Kiosk-Clients===== =====Installation eines Linux-Kiosk-Clients=====
-(Stand **Mai 2022** für PCs mit Debian Bullseye)+Nach den Problemen mit einem in Raspi OS nachinstallierten Chromium hier nun die neue und getestete Lösung mit Firefox 
 +===Reload August 2022===
  
 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. 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.+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. 
  
-==== Arbeit als Root ==== +Es finden zwei Installationsschritte statt, zuerst als Root, dann als User pi. 
-  * Installation einer Debianvariante (derzeit nicht für RasPi+ 
-      <del>* **Raspberry Pi OS lite** auf Raspberry Pi 3 oder 4 +==== Arbeit als Root bzw. mit sudo==== 
-          * beim ersten Login mit pi / raspberry beachtendass das y noch auf z liegt +  * Installation einer Debianvariante ohne GUI (getestet mit RasPi OS lite 64Bit auf RasPi 3BRasPi OS lite 32Bit auf RasPi 2Bsowie Debian amd64 netinst ohne Desktopumgebung exemplarisch auf einem Fujitsu ThinClient "Futro S720" 
-          * dann in raspi-config Sprache, auch der Tastatur und ggf. WLAN einrichten. Raspi OS liefert inzwischen chromium in einer für uns nicht brauchbaren Version. Test: Debian als Alternative: +  * beim ersten Start den User pi mit Passwort anlegen lassen. 
-      * **Debian** Bullseye auf RasPi +  RasPi: ggfin raspi-config WLAN einrichten.  
-          * Anmeldung als root ohne pwdaher gleich root-PW setzen und für deutsche Tastatur nachinstallieren:<code bash>apt install keyboard-configuration console-setup</code> </del> +  * 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:<file ini autologin.conf>[Service]
-      * **Debian** Bullseye 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 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:<file ini autologin.conf>[Service]+
  ExecStart=  ExecStart=
  ExecStart=-/sbin/agetty --autologin "pi" %I</file>  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 xterm</code>+  * Software nachinstallieren:<code bash>apt install firefox-esr fluxbox unclutter xdotool xorg xterm</code> 
 +  * Software entfernen (nur RasPi OS und deine eigene Entscheidung - bei uns mit vielen WLAN-Clients resultieren über 50% Prozessorlast):<code bash>apt remove --purge avahi-daemon*</code>
   * Zeitserver einrichten:   * Zeitserver einrichten:
-      * In der Datei /etc/systemd/timesyncd.conf die Kommentarzeichen ab [Time] entfernen und den hausinternen Zeitserver hinter NTP= eintragen+      * 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 …       * 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> systemctl start systemd-timesyncd      # … und direkt starten</code>
Zeile 30: Zeile 27:
 Nach dem Reboot bist du als  //pi// angemeldet. Nach dem Reboot bist du als  //pi// angemeldet.
 ===...auf der Kommandozeile=== ===...auf der Kommandozeile===
-  * Lege im Home-Verzeichnis die folgenden zwei Dateien (deren Namen mit einem Punkt beginnen) mit jeweils einer Zeile an <file bash .bash_profile>startx</file><file bash .xinitrc>startfluxbox</file> +  * Lege im Home-Verzeichnis zwei Dateien an und starte die graphische Oberfläche. Das geht einfach als Dreizeiler ohne Editor <code bash>
-  * Nun das Kommando <code bash>startx</code> eingeben, damit die grafische Oberfläche erstmals gestartet wird. +
-  * Das geht natürlich auch als Dreizeiler ohne Editor <code bash>+
 echo "startx" > .bash_profile echo "startx" > .bash_profile
 echo "startfluxbox" > .xinitrc echo "startfluxbox" > .xinitrc
 startx </code> startx </code>
-===...in der graphischen Oberfläche chromium konfigurieren=== +===...in der graphischen Oberfläche Firefox konfigurieren=== 
-Alt+F2 drücken, in das aufpoppende Eingabefeld chromium tippen ((tab completion funktioniert auch hier)) und starten. In die Einstellungen des Browsers gehen. Dort: +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: 
-  * -> Darstellung -> Schaltfläche "Startseite" anzeigen anklickendann 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+  * -> Home-> Homepage and new windows: Deine URL eingebenz.Bhttp://tabulaserver 
-  * //unwirksam ist-> Beim Start -> Bestimmte Seite ... öffnen -> im Eingabefeld die Zieladresse eingeben.// +  * about:config öffnen, browser.sessionstore.restore_on_demand auf false 
-  * -> Erweitert -> Sprachen -> "Übersetzung von fremdsprachigen Seiten anbieten" abschalten ((leider nicht mehr als Kommandozeilenoption wie früher)) +  * Beende nun erst Firefox (Alt-F4) und dann Fluxbox (rechte Maustaste und Menüpunkt Exit).
-  * Beende nun erst Chromium (Alt-F4) und dann Fluxbox (rechte Maustaste und Menüpunkt Exit).+
 ===...auf der Kommandozeile=== ===...auf der Kommandozeile===
   * __Ergänze__ die neue Datei .fluxbox/startup nach dem MAKE SURE-Kommentar wie folgt:<file bash .fluxbox/startup>   * __Ergänze__ die neue Datei .fluxbox/startup nach dem MAKE SURE-Kommentar wie folgt:<file bash .fluxbox/startup>
Zeile 49: Zeile 43:
 xset -dpms xset -dpms
 unclutter -grab -visible & unclutter -grab -visible &
-chromium --incognito --noerrdialogs --no-first-run --kiosk 192.168.2.100 +firefox --kiosk & 
-( while true; do sleep 600; xdotool key --clearmodifiers "alt+0xff50"; done ) &</file>+( while true; do sleep 600; xdotool search --name "Mozilla Firefox" key --clearmodifiers "Alt+Home"; done ) &</file>
   *die beiden xset schalten den Bildschirmschoner ab,    *die beiden xset schalten den Bildschirmschoner ab, 
   *unclutter verbirgt den Mauszeiger,    *unclutter verbirgt den Mauszeiger, 
-  *chromium zeigt die Webseite unter der angegebenen IP-Adresse an und +  *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.   *die letzte Zeile läuft in der while-Schleife endlos und lädt alle 10 Minuten (10*60sek) die Startseite neu.
  
 ====Testen==== ====Testen====
- * einen ersten Test kann man jetzt schon mit <code>startx</code> durchführen. Verlasse den Browser wieder mit Alt-F4... +  * einen ersten Test kann man jetzt schon mit <code>startx</code> durchführen. Verlasse den Browser wieder mit Alt-F4! 
- * Schließlich neu booten & testen+ 
 +  * Schließlich neu booten & testen
  
 ==Anmerkung:== ==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+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.txt · Zuletzt geändert: 2022/08/01 14:51 von cb