# MYP Druckerverwaltung - Raspberry Pi Kiosk-System

## 🎯 Überblick

Vollautomatisches Kiosk-System für Raspberry Pi, das beim Booten ohne Benutzeranmeldung startet und die MYP Druckerverwaltung im Vollbildmodus anzeigt.

## 🚀 Schnellstart

### 1. Automatische Installation

```bash
# Als Root ausführen
sudo bash combined.sh
```

### 2. System neustarten

```bash
sudo reboot
```

**Das war's!** Nach dem Neustart startet das System automatisch im Kiosk-Modus.

## ✨ Features

- **🔄 Automatischer Start** - Keine Benutzeranmeldung erforderlich
- **🖥️ Kiosk-Modus** - Chromium im Vollbildmodus ohne UI-Elemente
- **🖱️ Mauszeiger versteckt** - Automatisch nach 0.5s Inaktivität
- **🔒 Escape-sicher** - Keine Tastenkombinationen verfügbar
- **📱 Multi-Port Support** - Versucht Port 8080, dann 5000
- **🔧 Selbstheilend** - Automatischer Neustart bei Problemen
- **🍓 Raspberry Pi optimiert** - Hardware-spezifische Optimierungen

## 📋 Was wird installiert?

### System-Komponenten
- **Chromium Browser** - Für Kiosk-Anzeige
- **Openbox** - Minimaler Window Manager  
- **LightDM** - Display Manager für Autologin
- **Python 3 + Flask** - Backend-Anwendung
- **Systemd Services** - Automatischer Start

### Benutzer
- **kiosk** - Für automatischen Login und Browser
- **myp** - Für Backend-Anwendung

### Services
- **myp-druckerverwaltung.service** - Flask-Backend
- **kiosk-chromium.service** - Browser im Kiosk-Modus
- **lightdm.service** - Automatischer Login

## 🔧 Wartung

### Status prüfen
```bash
sudo myp-maintenance status
```

### Services neustarten
```bash
sudo myp-maintenance restart
```

### Live-Logs anzeigen
```bash
sudo myp-maintenance logs
```

### Installation testen
```bash
bash test-kiosk-setup.sh
```

## 📊 Systemanforderungen

- **Raspberry Pi 3B+** oder neuer (empfohlen)
- **Raspberry Pi OS** (Lite oder Desktop)
- **2GB freier Speicherplatz**
- **Internetverbindung** (für Installation)

## 🛠️ Problembehandlung

### Kiosk startet nicht
```bash
# Backend prüfen
systemctl status myp-druckerverwaltung
curl http://localhost:5000

# Display Manager prüfen  
systemctl status lightdm

# Logs anzeigen
tail -f /var/log/kiosk-session.log
```

### Browser-Probleme
```bash
# Chromium-Prozesse beenden
sudo pkill -f chromium

# Cache löschen
sudo rm -rf /home/kiosk/.chromium-kiosk

# Service neustarten
sudo systemctl restart kiosk-chromium
```

## 📁 Projektstruktur

```
.
├── combined.sh                    # Hauptinstallationsskript
├── test-kiosk-setup.sh           # Validierungstest
├── kiosk-watchdog.service        # Überwachungsservice
├── docs/
│   └── KIOSK_SETUP_ANLEITUNG.md  # Detaillierte Anleitung
├── app.py                         # Flask-Anwendung
├── models.py                      # Datenbank-Modelle
├── requirements.txt               # Python-Dependencies
└── README.md                      # Diese Datei
```

## 🔒 Sicherheit

- **Kiosk-Escape verhindert** - Alle Tastenkombinationen deaktiviert
- **SSH standardmäßig deaktiviert** - Für Sicherheit
- **Root-Passwort gesetzt** - `744563017196A` für Wartung
- **Firewall installiert** - UFW verfügbar aber nicht konfiguriert

### Wartungszugang aktivieren
```bash
# SSH für Remote-Wartung aktivieren
sudo systemctl enable ssh
sudo systemctl start ssh

# SSH wieder deaktivieren
sudo systemctl stop ssh
sudo systemctl disable ssh
```

## 🍓 Raspberry Pi Optimierungen

### Boot-Konfiguration
- **GPU Memory Split** - 128MB für bessere Browser-Performance
- **Boot-Splash deaktiviert** - Schnellerer Start
- **Console Blanking deaktiviert** - Bildschirm bleibt an
- **HDMI Force Hotplug** - Bessere Display-Kompatibilität

### Performance-Optimierungen
- **WLAN Power Management deaktiviert**
- **IPv6 systemweit deaktiviert**
- **Swappiness reduziert**
- **Energiesparmodus deaktiviert**

## 📖 Dokumentation

- **[Detaillierte Setup-Anleitung](docs/KIOSK_SETUP_ANLEITUNG.md)** - Vollständige Dokumentation
- **[Systemd Services](kiosk-watchdog.service)** - Service-Konfiguration
- **[Test-Skript](test-kiosk-setup.sh)** - Validierung der Installation

## 🔄 Updates

### Anwendung aktualisieren
```bash
# Neue Version nach /opt/myp-druckerverwaltung kopieren
sudo systemctl restart myp-druckerverwaltung
```

### System aktualisieren
```bash
sudo apt update && sudo apt upgrade -y
sudo reboot
```

## 🆘 Support

### Log-Sammlung
```bash
# Alle relevanten Logs sammeln
sudo journalctl -u myp-druckerverwaltung > myp-logs.txt
sudo journalctl -u lightdm >> myp-logs.txt
cat /var/log/kiosk-session.log >> myp-logs.txt
```

### Häufige Probleme
1. **"Anwendung nicht erreichbar"** → Backend-Service prüfen
2. **"Schwarzer Bildschirm"** → X-Server und LightDM prüfen
3. **"Browser startet nicht"** → Chromium-Installation prüfen
4. **"Kein automatischer Login"** → LightDM-Konfiguration prüfen

## 📜 Lizenz

Dieses Projekt ist für interne Nutzung bestimmt. Alle Rechte vorbehalten.

---

**🎉 Viel Erfolg mit Ihrem MYP Kiosk-System!**

Bei Fragen oder Problemen prüfen Sie zuerst die Log-Dateien und verwenden Sie das Wartungstool `myp-maintenance`. 