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.