Projektarbeit-MYP/backend/docs/KIOSK_SETUP_ANLEITUNG.md
2025-05-31 22:40:29 +02:00

7.2 KiB

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

# Als Root ausführen
sudo bash combined.sh

2. System neustarten

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)

# 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

# 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

# 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

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

    systemctl status myp-druckerverwaltung
    curl http://localhost:5000
    
  2. Display Manager prüfen:

    systemctl status lightdm
    
  3. X-Server prüfen:

    ps aux | grep X
    echo $DISPLAY
    

Browser-Probleme

  1. Chromium-Prozesse beenden:

    sudo pkill -f chromium
    
  2. Chromium-Cache löschen:

    sudo rm -rf /home/kiosk/.chromium-kiosk
    
  3. Kiosk-Service neustarten:

    sudo systemctl restart kiosk-chromium
    

Netzwerk-Probleme

  1. Verbindung testen:

    ping google.com
    curl http://localhost:5000
    
  2. WLAN Power Management prüfen:

    iwconfig wlan0
    

Performance-Probleme

  1. Temperatur prüfen (Raspberry Pi):

    vcgencmd measure_temp
    
  2. Memory-Usage prüfen:

    free -h
    htop
    
  3. GPU Memory prüfen:

    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

# 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:
    sudo nano /etc/systemd/system/myp-druckerverwaltung.service
    
  3. Services neustarten:
    sudo systemctl daemon-reload
    sudo systemctl restart myp-druckerverwaltung
    

URL ändern

  1. Kiosk-Skript bearbeiten:
    sudo nano /home/kiosk/start-kiosk.sh
    
  2. URL in der Datei anpassen
  3. Kiosk-Service neustarten:
    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

# 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

# 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

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

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.