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