260 lines
6.8 KiB
Markdown
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) |