230 lines
6.1 KiB
Markdown
230 lines
6.1 KiB
Markdown
# 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 <fehlende_module>
|
|
```
|
|
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 <PID>
|
|
```
|
|
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
|
|
``` |