Projektarbeit-MYP/docs/COMMON_ERRORS.md
2025-06-01 02:00:30 +02:00

6.1 KiB

Häufige Fehler und Lösungen

Dieses Dokument enthält häufig auftretende Probleme bei der Einrichtung und Nutzung von MYP im Kiosk-Modus und deren Lösungen.

Installationsprobleme

Fehler: "Paket nicht gefunden"

Problem: Beim Ausführen von apt install werden Pakete nicht gefunden.

Lösung:

  1. Führe zuerst sudo apt update aus, um die Paketlisten zu aktualisieren
  2. Stelle sicher, dass eine Internetverbindung besteht
  3. Bei älteren Raspberry Pi OS Versionen ggf. Repository hinzufügen:
    sudo apt-add-repository universe
    sudo apt update
    

Fehler: "Permission denied" beim Kopieren nach /opt/myp

Problem: Beim Kopieren der Dateien nach /opt/myp wird ein Permission-Fehler angezeigt.

Lösung:

  1. Stelle sicher, dass du die Befehle in der richtigen Reihenfolge ausführst:
    sudo mkdir -p /opt/myp
    sudo chown $USER:$USER /opt/myp
    
  2. Falls das nicht hilft, führe den Kopierbefehl mit sudo aus:
    sudo cp -r ./myp/* /opt/myp/
    sudo chown -R $USER:$USER /opt/myp/
    

Flask-Backend Probleme

Fehler: "MYP-Dienst startet nicht"

Problem: Der systemd-Dienst für das Flask-Backend startet nicht.

Lösung:

  1. Überprüfe den Status des Dienstes:
    sudo systemctl status myp.service
    
  2. Schau in die Logs:
    sudo journalctl -u myp.service -n 50
    
  3. Häufige Ursachen:
    • Falscher Pfad in myp.service: Überprüfe WorkingDirectory und ExecStart
    • Python-Umgebung nicht korrekt: Überprüfe, ob die .venv-Umgebung existiert
    • Abhängigkeiten fehlen: Führe pip install -r requirements.txt aus

Fehler: "ModuleNotFoundError: No module named X"

Problem: Beim Start der Flask-App wird ein Python-Modul nicht gefunden.

Lösung:

  1. Aktiviere die virtuelle Umgebung und installiere das fehlende Paket:
    cd /opt/myp
    source .venv/bin/activate
    pip install <fehlende_module>
    
  2. Überprüfe requirements.txt und installiere alle Abhängigkeiten:
    pip install -r requirements.txt
    

Fehler: "Address already in use"

Problem: Flask kann nicht starten, weil Port 5000 bereits verwendet wird.

Lösung:

  1. Finde den Prozess, der Port 5000 verwendet:
    sudo lsof -i:5000
    
  2. Beende den Prozess:
    sudo kill <PID>
    
  3. Falls nötig, ändere den Port in app.py:
    app.run(host="0.0.0.0", port=5001, debug=True)
    
    (Und passe auch die URL im kiosk.sh an)

Chromium Kiosk-Modus Probleme

Fehler: "Chromium startet nicht im Kiosk-Modus"

Problem: Der Browser startet nicht automatisch oder nicht im Vollbildmodus.

Lösung:

  1. Überprüfe den Status des User-Services:
    systemctl --user status kiosk.service
    
  2. Führe kiosk.sh manuell aus, um Fehlermeldungen zu sehen:
    /home/pi/kiosk.sh
    
  3. Prüfe, ob die notwendigen Pakete installiert sind:
    sudo apt install --reinstall chromium-browser unclutter
    

Fehler: "Chromium zeigt Fehlerdialoge statt der MYP-Oberfläche"

Problem: Der Browser zeigt Crash-Dialoge oder Warnungen an.

Lösung:

  1. Lösche die Chromium-Einstellungen und starte neu:
    rm -rf ~/.config/chromium/
    
  2. Füge zusätzliche Parameter zu chromium-browser in kiosk.sh hinzu:
    chromium-browser --kiosk --noerrdialogs --disable-infobars --disable-session-crashed-bubble \
                     --disable-features=DialMediaRouteProvider --window-position=0,0 \
                     --app=http://localhost:5000/ &
    

Fehler: "Chromium öffnet sich, aber zeigt nicht die MYP-Seite"

Problem: Der Browser startet, aber die Anwendung wird nicht angezeigt.

Lösung:

  1. Überprüfe, ob der Flask-Dienst läuft:
    systemctl status myp.service
    
  2. Teste, ob die Anwendung im Browser erreichbar ist:
    curl http://localhost:5000/
    
  3. Prüfe, ob Chromium mit der richtigen URL startet:
    # In kiosk.sh
    chromium-browser --kiosk --noerrdialogs --disable-infobars \
                     --window-position=0,0 --app=http://localhost:5000/ &
    

Watchdog-Probleme

Fehler: "Watchdog-Script funktioniert nicht"

Problem: Der Watchdog-Cronjob scheint nicht zu funktionieren.

Lösung:

  1. Überprüfe, ob der Cron-Job eingerichtet ist:
    crontab -l
    
  2. Prüfe die Berechtigungen des Watchdog-Scripts:
    chmod +x /home/pi/watchdog.sh
    
  3. Führe das Script manuell aus und prüfe auf Fehler:
    /home/pi/watchdog.sh
    
  4. Überprüfe die Logdatei:
    cat /home/pi/myp-watchdog.log
    

Fehler: "Watchdog kann systemctl nicht ausführen"

Problem: Der Watchdog kann systemctl-Befehle nicht ausführen.

Lösung:

  1. Erlaubnis für den pi-Benutzer zum Ausführen von systemctl hinzufügen:
    echo "pi ALL=NOPASSWD: /bin/systemctl restart myp.service" | sudo tee /etc/sudoers.d/myp-watchdog
    

Allgemeine Probleme

Fehler: "Bildschirm wird nach einiger Zeit schwarz"

Problem: Trotz Konfiguration schaltet sich der Bildschirm nach einiger Zeit aus.

Lösung:

  1. Stelle sicher, dass die xset-Befehle in kiosk.sh korrekt ausgeführt werden:
    xset s off
    xset s noblank
    xset -dpms
    
  2. Aktualisiere die Autostart-Datei:
    sudo nano /etc/xdg/lxsession/LXDE-pi/autostart
    
    Füge folgende Zeilen hinzu:
    @xset s off
    @xset -dpms
    @xset s noblank
    
  3. Verwende ein Tool wie Caffeine:
    sudo apt install caffeine
    

Fehler: "System bootet nicht automatisch in den Kiosk-Modus"

Problem: Der automatische Start des Kiosk-Modus funktioniert nicht.

Lösung:

  1. Überprüfe, ob der automatische Login aktiviert ist:
    sudo raspi-config
    # 1 System Options → S5 Boot/Auto Login → B4 Desktop Autologin
    
  2. Stelle sicher, dass der User-Service aktiviert ist:
    systemctl --user enable kiosk.service
    
  3. Aktiviere Linger für den pi-Benutzer:
    sudo loginctl enable-linger pi
    
  4. Reboote das System und überprüfe den Status der Dienste:
    sudo reboot