# MYP Kiosk-Modus - Mercedes-Benz TBA Marienfelde Vollautomatische **Kiosk-Modus-Integration** für das MYP 3D-Drucker-Management-System mit Chromium-Browser und Desktop-Integration. ## 🖥️ Überblick Der Kiosk-Modus verwandelt jeden **Debian/Linux-Desktop** in ein dediziertes MYP-Terminal für die Produktionsumgebung bei Mercedes-Benz TBA Marienfelde. ### ✨ Features - ✅ **Vollbild-Kiosk-Modus** mit Chromium Browser - ✅ **Desktop-Icons** für einfachen Start/Stop - ✅ **Container-Management** über grafische Oberfläche - ✅ **Autostart-Option** für Produktionsumgebung - ✅ **Automatische Service-Erkennung** und -Wiederherstellung - ✅ **Optimierte Performance** für Raspberry Pi / Low-Power-Systeme ## 🚀 Installation & Setup ### Automatische Installation Das **vollständige Setup** erfolgt über das Hauptskript: ```bash # Vollautomatisches Setup mit Kiosk-Integration sudo ./setup-docker.sh ``` **Nach dem Setup verfügbar:** - 🖥️ **Desktop-Icons** auf dem Desktop - 🌐 **MYP System** auf Port 80, 443, 5000 - 🎯 **Kiosk-Skripte** im Home-Verzeichnis ### Manuelle Kiosk-Steuerung ```bash # Kiosk-Helper für erweiterte Funktionen ./kiosk-helper.sh start # Kiosk-Modus starten ./kiosk-helper.sh stop # Kiosk-Modus stoppen ./kiosk-helper.sh status # System-Status anzeigen ./kiosk-helper.sh autostart enable # Autostart aktivieren ``` ## 🖱️ Desktop-Integration ### Verfügbare Desktop-Icons Nach dem Setup erscheinen **automatisch** auf dem Desktop: | Icon | Name | Funktion | |------|------|----------| | 🌐 | **MYP Kiosk** | Startet Vollbild-Kiosk-Modus | | 🐳 | **MYP Container** | Container-Management-Terminal | ### Verwendung 1. **Doppelklick** auf **"MYP Kiosk"** → Startet Vollbild-Anwendung 2. **Doppelklick** auf **"MYP Container"** → Öffnet Management-Terminal 3. **ESC-Taste** im Kiosk-Modus → Schließt Vollbild (falls nötig) ## 🎯 Kiosk-Modus Features ### Optimierte Chromium-Konfiguration ```bash # Automatisch konfigurierte Chromium-Parameter: --kiosk # Vollbild ohne Browser-UI --no-sandbox # Sicherheit für Container --disable-translate # Keine Übersetzungsvorschläge --disable-notifications # Keine Browser-Benachrichtigungen --disable-infobars # Keine Info-Balken --autoplay-policy=no-user-gesture-required # Medien-Autoplay ``` ### Systemoptimierungen - ✅ **Screensaver deaktiviert** während Kiosk-Betrieb - ✅ **Mauszeiger automatisch versteckt** bei Inaktivität - ✅ **Power Management deaktiviert** (kein automatisches Standby) - ✅ **Automatische Service-Wiederherstellung** bei Container-Problemen ### Service-Monitoring Der Kiosk-Modus überwacht automatisch: ```bash # Automatische Prüfungen: ✅ Docker-Container Status ✅ HTTP-Service Erreichbarkeit (Port 80) ✅ Automatischer Container-Neustart bei Bedarf ✅ Timeout-basierte Fehlerbehandlung (60s) ``` ## 🔧 Erweiterte Konfiguration ### Autostart für Produktionsumgebung ```bash # Autostart aktivieren ./kiosk-helper.sh autostart enable # Autostart deaktivieren ./kiosk-helper.sh autostart disable # Autostart-Status prüfen ./kiosk-helper.sh autostart status ``` **Autostart-Datei**: `~/.config/autostart/myp-kiosk.desktop` ### Kiosk-URL anpassen Standard-URL: `http://localhost:80` ```bash # In ~/start-myp-kiosk.sh anpassen: --app=http://localhost:80 # HTTP --app=https://localhost:443 # HTTPS --app=http://192.168.1.100:80 # Remote-Server ``` ### Performance-Tuning Für **Raspberry Pi** oder **Low-Power-Systeme**: ```bash # Zusätzliche Chromium-Parameter in start-myp-kiosk.sh: --memory-pressure-off --max_old_space_size=100 --aggressive-cache-discard --disable-dev-shm-usage ``` ## 🎛️ Management-Befehle ### Kiosk-Helper Kommandos ```bash # System-Status ./kiosk-helper.sh status # Kiosk-Steuerung ./kiosk-helper.sh start ./kiosk-helper.sh stop ./kiosk-helper.sh restart # Container-Management ./kiosk-helper.sh logs # Live-Logs anzeigen ./kiosk-helper.sh update # Container aktualisieren # Installation/Deinstallation ./kiosk-helper.sh install # Desktop-Icons neu installieren ./kiosk-helper.sh uninstall # Kiosk-Komponenten entfernen ``` ### Direkte Skripte ```bash # Home-Verzeichnis Skripte: ~/start-myp-kiosk.sh # Kiosk starten ~/stop-myp-kiosk.sh # Kiosk stoppen ~/restart-myp-kiosk.sh # Kiosk neustarten ``` ### Container-Management ```bash # Docker-Befehle im Projektverzeichnis: docker-compose ps # Container-Status docker-compose logs -f # Live-Logs docker-compose restart # Container neustarten docker-compose down # Container stoppen docker-compose up -d # Container starten ``` ## 🔍 Troubleshooting ### Häufige Probleme | Problem | Ursache | Lösung | |---------|---------|--------| | Desktop-Icons fehlen | Setup nicht vollständig | `./kiosk-helper.sh install` | | Kiosk startet nicht | Docker-Container nicht aktiv | `./kiosk-helper.sh status` | | Schwarzer Bildschirm | Service noch nicht verfügbar | Warte 60s, automatischer Retry | | Performance-Probleme | Zu viele Browser-Features | Parameter in `start-myp-kiosk.sh` anpassen | ### Debug-Informationen ```bash # System-Status prüfen ./kiosk-helper.sh status # Container-Logs ./kiosk-helper.sh logs # Kiosk-Prozesse prüfen ps aux | grep chromium | grep kiosk # Service-Erreichbarkeit testen curl -f http://localhost:80/ ``` ### Kiosk-Modus beenden ```bash # Über Skript (empfohlen) ./kiosk-helper.sh stop # Manuell per Terminal pkill -f "chromium.*kiosk.*localhost" # ESC-Taste im Kiosk-Modus # (funktioniert bei den meisten Konfigurationen) ``` ## 🏭 Produktionsumgebung ### Raspberry Pi Optimierungen ```bash # Zusätzliche Optimierungen in /boot/config.txt: gpu_mem=128 # GPU-Speicher für Browser disable_overscan=1 # Vollbild-Nutzung hdmi_force_hotplug=1 # HDMI immer aktiv ``` ### Netzwerk-Konfiguration ```bash # Für Remote-MYP-Server: # In ~/start-myp-kiosk.sh URL anpassen: --app=http://myp-server.mercedes-benz.local:80 ``` ### Sicherheits-Überlegungen - ✅ **Kiosk läuft als normaler Benutzer** (nicht root) - ✅ **Sandbox deaktiviert nur für Container-Kompatibilität** - ✅ **Lokaler Zugriff** - keine externe Netzwerk-Exposition - ✅ **Temporäre Browser-Daten** (`/tmp/chrome-kiosk`) ### Auto-Recovery Der Kiosk-Modus implementiert **automatische Wiederherstellung**: 1. **Container-Monitoring**: Startet Docker-Container bei Bedarf 2. **Service-Health-Checks**: Prüft HTTP-Erreichbarkeit 3. **Prozess-Überwachung**: Neustart bei Chromium-Crash 4. **Timeout-Behandlung**: Fehler-Eskalation nach 60s ## 📞 Support **Mercedes-Benz TBA Marienfelde** **Autor**: Till Tomczak **E-Mail**: till.tomczak@mercedes-benz.com **Weitere Dokumentation**: - [Docker Setup](./README-Docker.md) - [Hauptdokumentation](./CLAUDE.md) - [Setup-Logs](./tmp/myp-docker-setup.log)