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

260 lines
6.8 KiB
Markdown

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