Kiosk-Client für linuxmuster.net

Hallo,

Danke an alle, die das Thema unterstützt haben! Hier das Ergebnis aus vielen Hinweisen und Tipps aus dem Forum: Ein Kiosk-Client unter LINBO.

Läuft seit einigen Tagen bei mir produktiv auf mehreren Clients mit versch. Hardware.

Kurz gesagt:

Das Skript installiert auf einem Minimal-Debian ein minimales grafisches System aus Openbox + lightdm + Chromium im Kiosk-Modus, richtet einen Benutzer kiosk mit Autologin ein und sorgt durch zusätzliche Services dafür, dass:

  • Chromium automatisch startet,
  • das Browserprofil immer frisch ist,
  • zusätzliche Startskripte flexibel eingebunden werden können,
  • Chromium dauerhaft überwacht wird (Neustart bei Absturz oder Monitoränderung).

Die URL und zusätzliche Startskripte kann man einfach z.B. per universellem Postsync patchen.
Zwei Startskripte sind im Download dabei: disable-input_as_kiosk.sh und disable_translate_as_root.sh.
Mehr Info ist auch im Download.

Download - wie immer alles auf eigene Gefahr, also keine Gewährleistung:

kiosk4linuxmuster.net.zip (10,5 KB)



Im Download auch enthalten:

Installationsanleitung Kiosk-Client für linuxmuster.net (LINBO)

----------------------------------------------------------------

Sen 4 linuxmuster.net
mit Unterstützung von chatGPT-5
2025
Lizenz GPL v3


I. Vorbereitung mit LINBO

1. Folge der offiziellen Anleitung (bis vor „Installation Ubuntu bzw. pop!os“)

Erstelle eine neue Hardwareklasse (HWK = „Gruppe“ in der Schulkonsole) z.B. „kiosk“ mit einem neuen Image-Namen z.B. „kiosk“
mit z.B. 30 G für Debian und den Rest für Cache.


2. Anpassungen in der Schulkonsole für Debian

Einträge unter LINBO - Gruppen - HWK (z.B. kiosk) - Stiftsymbol - Partitionen - Stiftsymbol bei Debian - OS - Erweitert

Eintrag bei Kernel: vmlinuz
(statt: „boot/vmlinuz“ bei ubuntu)

Eintrag bei Initrd: initrd.img
(statt: „boot/initrd.img“ bei ubuntu)

Vgl:


3. Anpassungen in der Schulkonsole für Hardware/OS

Einträge unter LINBO - Gruppen - HWK (z.B. kiosk) - Stiftsymbol - Kernel-Optionen

Kernelparameter anpassen, z.B.
dhcpretry=9 nowarmstart

Übersicht der LINBO-Kernelparameter:

dhcpretry - kann auch noch höher gesetzt werden bei schlechter Netzwerkverbindung

nowarmstart - ist unbedingt zu empfehlen, damit Debian seinen eigenen Kernel lädt und nicht den von LINBO beim Warmstart übernimmt.

noefibootmgr - hilft bei BIOS-Systemen eine LINBO-Bootschleife zu verhindern

4. Admin-Hardwareklasse für Admin-Kiosk-Client

Es ist sinnvoll, nicht zu viele Funktionen ins Kiosk-Image einzupflegen, um versch. Kiosk-Clients mit dem selben Image betreiben zu können.
(Die unterschiedlichen Konfigurationen werden später durch Patchen z.B. mit Postsync-Skripten erreicht.)

Dupliziere die HWK unter LINBO - Gruppen - HWK (z.B. kiosk) - Kopiesymbol
und vergebe einen Namen z.B. „kioskadmin“

Konfiguriere diese Admin-HWK für die Image-Erstellung mit dem Stiftsymbol
Achte bei den OS-Start-Optionen unbedingt darauf, dass die folgenden beiden Einstellungen so gesetzt sind:
Autostart AUS
Start AN



II. Installationsanleitung Debian-Minimal mit Benutzer „root“

1. Debian-Minimalsystem installieren

  • Lade das Debian Netinst-ISO herunter (z. B. von https://www.debian.org/distrib/netinst).

  • Bereite einen Client der HWK „kioskadmin“ zur Installation vor.

  • Folge der offiziellen Anleitung zur Installation unter LINBO analog zu „Installation Ubuntu bzw. pop!os“ (ab „Client OS installieren“)
    Linux-Client — linuxmuster.net latest Dokumentation

  • Während der Installation von Debian:

    • Root-Passwort setzen.
    • Benutzer test anlegen (wie gefordert).
    • Partition für Betriebssystem auswählen, als Einbindepunkt „/“, keine SWAP-Partition
    • kein Bootmanager (das macht später LINBO automatisch).
    • Paket-Auswahl: nur „Standard-Systemwerkzeuge“, kein Desktop.

2. Erster Login an Konsole als Benutzer root

root
root-Passwort


3. sudo installieren

apt update
apt install sudo -y

4. ssh installieren

apt install openssh-server -y

5. SSH für root erlauben

SSH-Config öffnen:

nano /etc/ssh/sshd_config

Folgende Zeile ändern oder hinzufügen:

PermitRootLogin yes

Datei speichern, dann SSH-Dienst neu starten:

systemctl restart ssh

6. SSH-Zugang für root testen

IP-Adresse des Kiosk-Clients ermittel z.B. mit

ip a

Von einem anderen Rechner aus:

ssh root@<IP-Adresse-des-Kiosk-Clients>

(root-Passwort eingeben → Zugang sollte funktionieren)


7. Benutzer test löschen

Wenn SSH-Zugang als root funktioniert:

deluser --remove-home test

8. Swapfile definieren

Datei öffnen:

sudo nano /etc/fstab

Folgende Zeile anpassen bzw. ergänzen zu:

/swapfile none swap sw 0 0

9. Kiosk-Installaion per Skript

Am besten ab jetzt immer per ssh als root arbeiten:

Bereinigung - nur falls zuvor schon einmal ältere Versionen von kiosk_install.sh installiert waren:

touch kiosk_cleanup.sh && chmod +x kiosk_cleanup.sh && nano kiosk_cleanup.sh

Inhalt von kiosk_cleanup.sh einfügen und speichern und Skript ausführen:

sudo bash kiosk_cleanup.sh

Kiosk-Installaion per Skript:

touch kiosk_install.sh && chmod +x kiosk_install.sh && nano kiosk_install.sh

Inhalt von kiosk_install.sh einfügen und speichern und Skript ausführen:

sudo bash kiosk_install.sh
reboot

Falls nicht später die URL per Skript gepatcht wird, die URL-Datei erstellen und nach dem Muster füllen https://www.abc.de

nano /etc/kiosk/url.conf


III. Image auf den Server hochladen mit LINBO

1. Fahre den PC / die VM herunter und werfe das ISO-Image / die Installations-DVD aus.


2. Folge der offiziellen Anleitung (bei „Erstimage erstellen“)



IV. Image ausrollen mit LINBO

Teste das Image nun auf einem Client

Weise einem Client die Nicht-Admin-HWK (= „Gruppe“ in der Schulkonsole) z.B. „kiosk“ zu.



V. Kiosk-Clients nach Bedarf mit Skripten patchen

Postsync-Scripte

Gut geeignet sind unter linuxmuster.net die Postsync-Scripte, v.a. das „Universelle Postsync-Script“
Linux-Client - Anpassungen mit Postsync-Scripten — linuxmuster.net latest Dokumentation

Dabei ist zu beachten das der „Raum“ von Clients beim universellen Postsync-Script nicht die Raumzuordnung der Schulkonsole ist, sondern aus dem Clientnamen ermittelt wird!

Beipiel für alle Clients mit dem LINBO-Image kiosk:

  • Universelles Postsync-Script (siehe auch offizielle Anleitung)

    • Speicherort auf dem Server /srv/linbo/images/kiosk/kiosk.postsync

    • Im Skript „focalfossa“ ersetzen mit „kiosk“

    • URL-Datei auf dem Server hinterlegen /srv/linbo/linuxmuster-client/kiosk/common/etc/kiosk/url.conf

PS: Bei linuxmuster-Installationen mit Caching-Server als LINBO-Server, wird die Ordnerstruktur des universellen Postsync-Scripts auf dem Caching-Server angelegt.
Und das universelle Postsync-Script muss auch auf dem Caching-Server vorhanden sein (Sync zwischen Server und Caching-Server beachten).


2 „Gefällt mir“