# 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: ```bash 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: ```bash sudo mkdir -p /opt/myp sudo chown $USER:$USER /opt/myp ``` 2. Falls das nicht hilft, führe den Kopierbefehl mit sudo aus: ```bash 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: ```bash sudo systemctl status myp.service ``` 2. Schau in die Logs: ```bash 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: ```bash cd /opt/myp source .venv/bin/activate pip install ``` 2. Überprüfe requirements.txt und installiere alle Abhängigkeiten: ```bash 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: ```bash sudo lsof -i:5000 ``` 2. Beende den Prozess: ```bash sudo kill ``` 3. Falls nötig, ändere den Port in app.py: ```python 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: ```bash systemctl --user status kiosk.service ``` 2. Führe kiosk.sh manuell aus, um Fehlermeldungen zu sehen: ```bash /home/pi/kiosk.sh ``` 3. Prüfe, ob die notwendigen Pakete installiert sind: ```bash 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: ```bash rm -rf ~/.config/chromium/ ``` 2. Füge zusätzliche Parameter zu chromium-browser in kiosk.sh hinzu: ```bash 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: ```bash systemctl status myp.service ``` 2. Teste, ob die Anwendung im Browser erreichbar ist: ```bash curl http://localhost:5000/ ``` 3. Prüfe, ob Chromium mit der richtigen URL startet: ```bash # 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: ```bash crontab -l ``` 2. Prüfe die Berechtigungen des Watchdog-Scripts: ```bash chmod +x /home/pi/watchdog.sh ``` 3. Führe das Script manuell aus und prüfe auf Fehler: ```bash /home/pi/watchdog.sh ``` 4. Überprüfe die Logdatei: ```bash 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: ```bash 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: ```bash xset s off xset s noblank xset -dpms ``` 2. Aktualisiere die Autostart-Datei: ```bash 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: ```bash 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: ```bash sudo raspi-config # 1 System Options → S5 Boot/Auto Login → B4 Desktop Autologin ``` 2. Stelle sicher, dass der User-Service aktiviert ist: ```bash systemctl --user enable kiosk.service ``` 3. Aktiviere Linger für den pi-Benutzer: ```bash sudo loginctl enable-linger pi ``` 4. Reboote das System und überprüfe den Status der Dienste: ```bash sudo reboot ```