Diese Quelle ist ein gutes Beispiel für die Verwendung von ZimaOS als Appliance-Host, anstatt die schreibgeschützte Systemebene in eine Desktop-Distribution umwandeln zu wollen. Da ZimaOS kein gewöhnliches apt Umgebung oder integrierten X.Org-Desktop erstellte der Autor den gesamten Kiosk-Stack in Docker: Debian + X.Org + Chromium für die Anzeige sowie einen kleinen nginx-Container für das lokale Dashboard.
Das Ergebnis war ein funktionierender 22-Zoll-Touchscreen-Kiosk, verbunden mit einem ZimaBoard 2 1664. Dies bleibt ein fortgeschrittenes Community-Projekt und ist kein von IceWhale unterstützter Desktopmodus. Es verwendet Host-Netzwerk, direkten Zugriff auf Grafik- und Eingabegeräte sowie einen privilegierten Kioskcontainer. Nutzer sollten daher die Sicherheits- und Gerätezugriffsabwägungen verstehen, bevor sie den Aufbau übernehmen.
Der Kiosk führt einen Desktop-Stack in Docker aus
Das Dockerfile aus der Quelle basiert auf Debian Bookworm Slim und installiert X.Org, libinput, Openbox, Chromium, X11-Hilfsprogramme, Schriftarten und Mesa. Der Host bleibt ZimaOS; die grafische Benutzerumgebung läuft im Container.
Dies ist genau die Art von Workload-Isolierung, die das ZimaOS-Appliance-Modell fördern soll.
Die Intel-GPU wird dem Kioskcontainer zugänglich gemacht
Die Anleitung verwendet X.Orgs modesetting Treiber und übergibt das Intel-DRM-Gerät an den Container. Der Autor stellte ausdrücklich fest, dass die erforderliche Mesa-Unterstützung für den beim ZimaBoard 2 verwendeten N100-Grafikstack Backports von Bookworm erforderte.
Die aktuelle ZimaBoard-2-Hardware verwendet einen Intel N150. Nutzer, die die Anleitung nachbauen, sollten daher die aktuelle Mesa-/X.Org-Unterstützung überprüfen, statt davon auszugehen, dass die historischen Angaben zum N100 identisch sind.
Die Touch-Eingabe erfolgt über die Eingabe-/Udev-Schicht des Hosts
Das Anzeigesignal wurde über HDMI/miniDP übertragen, während der Touchscreen-Controller per USB verbunden war. Die Anleitung untersucht /proc/bus/input/devices, ordnet das richtige Ereignisgerät in X.Org zu und gibt /run/udev damit der Container Eingabegeräte identifizieren kann.
Ein separater nginx-Container stellt das Dashboard bereit
Der Quellcode wird ausgeführt nginx:alpine an einem nicht von ZimaOS verwendeten Port (im Beispiel 8888) und bindet die Dashboard-Dateien schreibgeschützt ein. Chromium öffnet diese lokale URL im Kioskmodus.
Die Verwendung eines separaten Webcontainers erleichtert die Aktualisierung der Dashboard-Dateien, ohne den Grafikcontainer neu erstellen zu müssen.
Verwende Port 80 von ZimaOS nicht erneut für das Dashboard
In der Anleitung wird ausdrücklich darauf hingewiesen, dass ZimaOS bereits Port 80 für sein Dashboard verwendet. Wenn Chromium die falsche Seite öffnet, überprüfe den Port des benutzerdefinierten Dashboards und den KIOSK_URL Wert, statt ZimaOS unerwartet zu ändern.
Der Autor fügte eine Workaround für Pointer-Events bei Touch-Taps hinzu
Im Dashboard der Quelle konnte eine geringfügige Bewegung des Fingers verhindern, dass Chromium herkömmliche onclick Handlern. Der Autor ersetzte die Klickverarbeitung durch pointerup plus einen Bewegungsschwellenwert.
Dieses JavaScript ist anwendungsspezifisch. Moderne Weboberflächen, die für Touchbedienung entwickelt wurden, sollten zeiger- und touchfreundliche Steuerelemente bevorzugen, statt Inline- onclick Zeichenfolgen.
Der privilegierte Modus ist der größte Sicherheitskompromiss
Die Quelle startet den Kiosk-Container mit --privileged. Dies gewährt weitreichenden Zugriff auf Geräte und den Host-Kernel und ist wesentlich freizügiger als ein gewöhnlicher Dashboard-Container.
Wenn du den Build reproduzierst, teste zunächst, ob explizite /dev/dri, Eingabegeräte- und udev-Mounts sowie eng begrenzte Berechtigungen sind ausreichend. Belasse das Dashboard in einem vertrauenswürdigen LAN.
Die Quelle verwendet „unless-stopped“ für die automatische Wiederherstellung
Sowohl der nginx- als auch der Kiosk-Container verwenden restart: unless-stopped Verhalten, sodass die Anzeige nach einem Neustart von ZimaOS wieder angezeigt wird. Speichere die Dockerfile, die X.Org-Konfiguration, den Einstiegspunkt und das Dashboard unter persistentem /DATA Speicher.
Das aktuelle ZimaOS kann dies mit Compose reproduzierbarer paketieren
Das aktuelle ZimaOS unterstützt den Import von Standard-Docker-Compose-/YAML-Dateien. Statt mehrere lange docker run Befehle ermöglichen es fortgeschrittenen Benutzern, beide Dienste, Neustartrichtlinien, Geräte, Volumes und Netzwerke in einer geprüften Compose-Datei festzulegen.
Verwende das aktuelle ZimaOS-Compose-Modell.
FAQ zum Touchscreen-Kiosk
Müssen apt oder eine Desktop-Umgebung auf dem ZimaOS-Host installiert werden?
Nein. Die Quelle behält X.Org, Openbox, Mesa und Chromium absichtlich innerhalb von Docker.
Ist dies ein offizieller Desktop-Modus von ZimaOS?
Nein. Es handelt sich um einen Community-Build, den IceWhale mit Namensnennung teilen durfte.
Warum birgt der Kiosk-Container im Vergleich zu einer normalen App ein hohes Risiko?
Die Quelle versetzt den Container in den privilegierten Modus und gewährt ihm direkten Zugriff auf Grafik und Eingabegeräte, wodurch die Docker-Isolierung verringert wird.
