📝 Commit Details:

This commit is contained in:
2025-05-31 22:40:29 +02:00
parent 91b1886dde
commit df8fb197c0
14061 changed files with 997277 additions and 103548 deletions

View File

@@ -0,0 +1,322 @@
# MYP Druckerverwaltung - Kiosk-Modus Setup Anleitung
## Übersicht
Diese Anleitung beschreibt die vollautomatische Einrichtung eines Kiosk-Modus auf Raspberry Pi für die MYP Druckerverwaltung. Das System startet automatisch beim Booten ohne Benutzeranmeldung und öffnet Chromium im Vollbildmodus.
## Voraussetzungen
- Raspberry Pi (3B+ oder neuer empfohlen)
- Raspberry Pi OS (Lite oder Desktop)
- Internetverbindung
- Mindestens 2GB freier Speicherplatz
## Automatische Installation
### 1. Skript ausführen
```bash
# Als Root ausführen
sudo bash combined.sh
```
### 2. System neustarten
```bash
sudo reboot
```
## Was wird installiert?
### System-Komponenten
- **Chromium Browser** - Für Kiosk-Anzeige
- **Openbox** - Minimaler Window Manager
- **LightDM** - Display Manager für Autologin
- **Python 3** - Für Flask-Anwendung
- **Systemd Services** - Für automatischen Start
### Benutzer
- **kiosk** - Kiosk-Benutzer für automatischen Login
- **myp** - Anwendungsbenutzer für Backend
### Services
- **myp-druckerverwaltung.service** - Flask-Backend
- **kiosk-chromium.service** - Chromium Kiosk-Modus
- **lightdm.service** - Automatischer Login
## Kiosk-Funktionalität
### Automatischer Start
1. System bootet ohne Benutzeranmeldung
2. LightDM meldet automatisch Kiosk-Benutzer an
3. Openbox startet als minimaler Window Manager
4. Flask-Backend startet auf Port 5000
5. Chromium öffnet automatisch im Kiosk-Modus
### URL-Priorität
Das System versucht folgende URLs in dieser Reihenfolge:
1. `http://localhost:8080` (falls verfügbar)
2. `http://localhost:5000` (Fallback)
### Kiosk-Features
- **Vollbildmodus** - Keine Browser-UI sichtbar
- **Mauszeiger versteckt** - Nach 0.5s Inaktivität
- **Keine Tastenkombinationen** - Alt+Tab, F11 etc. deaktiviert
- **Automatischer Neustart** - Bei Browser-Crash
- **Energiesparmodus deaktiviert** - Bildschirm bleibt immer an
## Raspberry Pi Optimierungen
### Boot-Konfiguration (`/boot/config.txt`)
```ini
# GPU Memory für bessere Browser-Performance
gpu_mem=128
# Boot-Optimierungen
disable_splash=1
hdmi_force_hotplug=1
disable_overscan=1
```
### Kernel-Parameter (`/boot/cmdline.txt`)
```
consoleblank=0 # Console Blanking deaktiviert
```
### Hardware-Optimierungen
- WLAN Power Management deaktiviert
- IPv6 systemweit deaktiviert
- Swappiness reduziert
- GPU Memory Split optimiert
## Wartung und Überwachung
### Wartungstool verwenden
```bash
# System-Status prüfen
sudo myp-maintenance status
# Services neustarten
sudo myp-maintenance restart
# Live-Logs anzeigen
sudo myp-maintenance logs
# Services stoppen
sudo myp-maintenance stop
# Services starten
sudo myp-maintenance start
```
### Log-Dateien
```bash
# Kiosk-Session Logs
tail -f /var/log/kiosk-session.log
# Systemd Service Logs
journalctl -u myp-druckerverwaltung -f
journalctl -u lightdm -f
# System-Logs
journalctl -f
```
### Service-Status prüfen
```bash
# Alle Services prüfen
systemctl status myp-druckerverwaltung
systemctl status lightdm
systemctl status kiosk-chromium
# Service-Abhängigkeiten anzeigen
systemctl list-dependencies graphical.target
```
## Problembehandlung
### Kiosk startet nicht
1. **Backend prüfen:**
```bash
systemctl status myp-druckerverwaltung
curl http://localhost:5000
```
2. **Display Manager prüfen:**
```bash
systemctl status lightdm
```
3. **X-Server prüfen:**
```bash
ps aux | grep X
echo $DISPLAY
```
### Browser-Probleme
1. **Chromium-Prozesse beenden:**
```bash
sudo pkill -f chromium
```
2. **Chromium-Cache löschen:**
```bash
sudo rm -rf /home/kiosk/.chromium-kiosk
```
3. **Kiosk-Service neustarten:**
```bash
sudo systemctl restart kiosk-chromium
```
### Netzwerk-Probleme
1. **Verbindung testen:**
```bash
ping google.com
curl http://localhost:5000
```
2. **WLAN Power Management prüfen:**
```bash
iwconfig wlan0
```
### Performance-Probleme
1. **Temperatur prüfen (Raspberry Pi):**
```bash
vcgencmd measure_temp
```
2. **Memory-Usage prüfen:**
```bash
free -h
htop
```
3. **GPU Memory prüfen:**
```bash
vcgencmd get_mem gpu
```
## Sicherheit
### Kiosk-Escape verhindern
- Alle Tastenkombinationen deaktiviert
- Kein Zugriff auf Terminal
- Openbox ohne Menü konfiguriert
- Browser-Entwicklertools deaktiviert
### Remote-Zugriff
- SSH standardmäßig deaktiviert
- Root-Login nur mit Passwort: `744563017196A`
- Firewall (UFW) installiert aber nicht konfiguriert
### Wartungszugang
```bash
# SSH aktivieren für Wartung
sudo systemctl enable ssh
sudo systemctl start ssh
# SSH wieder deaktivieren
sudo systemctl stop ssh
sudo systemctl disable ssh
```
## Anpassungen
### Eigene Anwendung einsetzen
1. **Anwendung nach `/opt/myp-druckerverwaltung` kopieren**
2. **Service-Datei anpassen falls nötig:**
```bash
sudo nano /etc/systemd/system/myp-druckerverwaltung.service
```
3. **Services neustarten:**
```bash
sudo systemctl daemon-reload
sudo systemctl restart myp-druckerverwaltung
```
### URL ändern
1. **Kiosk-Skript bearbeiten:**
```bash
sudo nano /home/kiosk/start-kiosk.sh
```
2. **URL in der Datei anpassen**
3. **Kiosk-Service neustarten:**
```bash
sudo systemctl restart kiosk-chromium
```
### Chromium-Flags anpassen
Bearbeiten Sie `/home/kiosk/start-kiosk.sh` und passen Sie die `CHROMIUM_FLAGS` Variable an.
## Backup und Wiederherstellung
### Konfiguration sichern
```bash
# Wichtige Konfigurationsdateien
sudo tar -czf myp-kiosk-backup.tar.gz \
/etc/systemd/system/myp-*.service \
/etc/systemd/system/kiosk-*.service \
/etc/lightdm/lightdm.conf \
/home/kiosk/.config \
/home/kiosk/start-kiosk.sh \
/opt/myp-druckerverwaltung
```
### System zurücksetzen
```bash
# Services stoppen und deaktivieren
sudo systemctl stop lightdm myp-druckerverwaltung kiosk-chromium
sudo systemctl disable lightdm myp-druckerverwaltung kiosk-chromium
# Benutzer entfernen
sudo userdel -r kiosk
sudo userdel -r myp
# Service-Dateien entfernen
sudo rm /etc/systemd/system/myp-*.service
sudo rm /etc/systemd/system/kiosk-*.service
# Systemd neu laden
sudo systemctl daemon-reload
```
## Support
### Log-Sammlung für Support
```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
systemctl status myp-druckerverwaltung >> 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
## Erweiterte Konfiguration
### Mehrere Displays
Für Multi-Monitor-Setups bearbeiten Sie die Openbox-Konfiguration in `/home/kiosk/.config/openbox/rc.xml`.
### Touch-Screen Support
Das System unterstützt automatisch Touch-Screens. Für spezielle Kalibrierung installieren Sie `xinput-calibrator`.
### Audio-Ausgabe
Audio wird automatisch über HDMI ausgegeben. Für analoge Ausgabe:
```bash
sudo raspi-config
# Advanced Options > Audio > Force 3.5mm
```
---
**Hinweis:** Diese Anleitung basiert auf bewährten Kiosk-Implementierungen und ist speziell für Raspberry Pi optimiert. Bei Problemen prüfen Sie zuerst die Log-Dateien und Service-Status.