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
Nächste ÜberarbeitungBeide Seiten der Revision
anleitung_fuer_linux_kiosk [2020/12/09 16:19] cbanleitung_fuer_linux_kiosk [2022/07/12 08:20] 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)+(Stand **Mai 2022** für PCs mit Debian Bullseye) 
 +Juli 2022: [[KioskRaspi]] reloaded...
  
-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.+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-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.+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 ==== ==== Arbeit als Root ====
-  * Installation einer Debianvariante +  * Installation einer Debianvariante (derzeit nicht für RasPi) 
-      * **Raspberry Pi OS lite** auf Raspberry Pi 3 oder 4+      <del>* **Raspberry Pi OS lite** auf Raspberry Pi 3 oder 4
           * beim ersten Login mit pi / raspberry beachten, dass das y noch auf z liegt           * 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 +          * 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: 
-      * **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)+      * **Debian** Bullseye auf RasPi 4 
 +          * Anmeldung als root ohne pw, daher gleich root-PW setzen und für deutsche Tastatur nachinstallieren:<code bash>apt install keyboard-configuration console-setup</code> </del> 
 +      * **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   *  Wir benötigen einen User, der später automatisch angemeldet wird
       * unter **Raspberry Pi OS** existiert bereits der User //pi//       * unter **Raspberry Pi OS** existiert bereits der User //pi//
-      * unter **Debian** Buster bei der Installation einen beliebigen User , z.B. auch //pi// angeben. +      * 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]   * 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</code> +  * Software nachinstallieren als //root// oder als //pi// mit sudo<code bash>apt install xorg fluxbox chromium unclutter xdotool xterm</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:   * 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
Zeile 32: Zeile 33:
   * 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 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>
   * Nun das Kommando <code bash>startx</code> eingeben, damit die grafische Oberfläche erstmals gestartet wird.   * 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 "startfluxbox" > .xinitrc
 +startx </code>
 ===...in der graphischen Oberfläche chromium konfigurieren=== ===...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:+Alt+F2 drücken, in das aufpoppende Eingabefeld 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.   * -> 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.//   * //unwirksam ist: -> Beim Start -> Bestimmte Seite ... öffnen -> im Eingabefeld die Zieladresse eingeben.//
Zeile 41: Zeile 46:
   * __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>
 # MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN ''&'' AT THE END. # MAKE SURE THAT APPS THAT KEEP RUNNING HAVE AN ''&'' AT THE END.
-xset s+xset s noblank 
 +xset s off
 xset -dpms xset -dpms
 unclutter -grab -visible & unclutter -grab -visible &
-chromium-browser --incognito --noerrdialogs --no-first-run --kiosk 192.168.2.100 &+chromium --incognito --noerrdialogs --no-first-run --kiosk 192.168.2.100 &
 ( while true; do sleep 600; xdotool key --clearmodifiers "alt+0xff50"; done ) &</file> ( while true; do sleep 600; xdotool key --clearmodifiers "alt+0xff50"; 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-browser bzw. chromium (für Debian ändern!) zeigt die Webseite unter der angegebenen IP-Adresse an und +  *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.   *die letzte Zeile läuft in der while-Schleife endlos und lädt alle 10 Minuten (10*60sek) die Startseite neu.
  
anleitung_fuer_linux_kiosk.txt · Zuletzt geändert: 2023/07/17 16:01 von cb