Files
Projektarbeit-MYP/README-Kiosk.md
2025-06-20 11:36:53 +02:00

6.8 KiB

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:

# 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

# 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

# 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:

# 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

# 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

# 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:

# 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

# 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

# Home-Verzeichnis Skripte:
~/start-myp-kiosk.sh      # Kiosk starten
~/stop-myp-kiosk.sh       # Kiosk stoppen  
~/restart-myp-kiosk.sh    # Kiosk neustarten

Container-Management

# 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

# 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

# Ü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

# 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

# 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: