platform-docs/adr/0004-kiosk-ui-epiphany.md

2.4 KiB

ADR-0004: Web-Kiosk mit Epiphany statt Terminal- oder nativer GTK-Oberfläche

Status: Beschlossen Datum: 20.07.2026

Kontext

Der interaktive Ablauf (F-005, 10-interactive-provisioning-flow.md) läuft aktuell als reines Terminal-Programm: installer.sh startet automatisch in einem gnome-terminal (siehe 13-live-provisioning-boot.md) und fragt Eingaben über read -p ab.

Mit der Live-ISO (ADR-0003) steht jetzt eine vollwertige Desktop-Umgebung zur Verfügung, in der sich eine frei gestaltbare, gebrandete Oberfläche für Workspace-Auswahl und Provisioning-Server-Authentifizierung bauen lässt, statt eines reinen Text-Interfaces.

Entscheidung

Die interaktive Oberfläche wird als lokale Web-Anwendung gebaut, angezeigt in einem Browser-Kiosk-Fenster, nicht als native GTK-Anwendung.

Als Browser wird Epiphany (GNOME Web) im Application-Mode (--application-mode) verwendet, nicht Firefox und nicht Chromium.

Begründung:

Epiphany ist auf dem verwendeten Live-Image (Fedora Cinnamon Live) bereits vorhanden, ebenso wie Firefox. Es sind keine zusätzlichen Pakete oder Downloads beim Boot nötig.

Epiphany ist WebKitGTK-basiert und startet spürbar schneller und ressourcenschonender als das Gecko-basierte Firefox.

Der Application-Mode liefert ein chromeloses Fenster ohne Adressleiste, Tabs oder Menüs — die Grundlage für einen Kiosk-artigen Auftritt ohne Fremdsoftware.

Chromium wurde geprüft und ist auf diesem Image nicht vorhanden; es hätte nachinstalliert werden müssen.

Die fachliche Logik der einzelnen Ablaufschritte (Netzwerk, Hardware, Aktivierung, Handshake, Bereitstellungsvorlage-Auflösung, Commit Point, Runtime Blueprint, Backend) bleibt in den bestehenden Bash-Modulen. Die Web-Oberfläche ist ausschließlich Präsentationsschicht.

Konsequenzen

Der Autostart-Mechanismus aus 13-live-provisioning-boot.md (Dracut-Hook, /updates-Payload) wechselt von „Terminal mit installer.sh" auf „Epiphany im Application-Mode mit einer lokalen Kiosk-Seite".

Wie die Web-Oberfläche mit den bestehenden Bash-Modulen kommuniziert (Zustand aus /run/tuxflotte/*.json lesen, Aktionen auslösen), ist noch nicht entschieden und wird beim tatsächlichen Bau festgelegt.

Der automatisierte Modus (tuxflotte.mode=auto) benötigt keine grafische Oberfläche, da er ohne Benutzereingabe abläuft. Die Kiosk-Oberfläche betrifft ausschließlich den interaktiven Modus.