#!/bin/bash # MYP Kiosk Installation - Einfach und direkt # Installiert Backend + Kiosk-Modus ohne venv oder nginx set -e echo "=== MYP Kiosk Installation ===" # Prüfe Root-Rechte if [[ $EUID -ne 0 ]]; then echo "FEHLER: Dieses Skript muss als root ausgeführt werden" exit 1 fi # Installiere benötigte Pakete echo "Installiere Pakete..." apt update # Basis-Pakete apt install -y python3.11 python3-pip curl # Browser apt install -y chromium-browser || apt install -y chromium || apt install -y firefox-esr # Display Manager und Window Manager apt install -y lightdm apt install -y openbox || apt install -y xfce4 || apt install -y lxde # X11 falls nicht vorhanden apt install -y xorg xinit # Erstelle Verzeichnisse echo "Erstelle Verzeichnisse..." mkdir -p /home/user/.config/openbox # Prüfe Backend-Code im aktuellen Verzeichnis echo "Prüfe Backend-Code..." if [ ! -d "../app" ]; then echo "FEHLER: Backend-App-Verzeichnis nicht gefunden: ../app" exit 1 fi if [ ! -f "../requirements.txt" ]; then echo "FEHLER: requirements.txt nicht gefunden: ../requirements.txt" exit 1 fi # Setze Berechtigungen für Backend-Code (im aktuellen Verzeichnis) echo "Setze Backend-Berechtigungen..." chmod -R 755 ../app [ -f "../app/app.py" ] && chmod +x ../app/app.py # Installiere Python-Abhängigkeiten global echo "Installiere Python-Abhängigkeiten..." cd .. pip3 install --break-system-packages -r requirements.txt # Setze finale Berechtigungen echo "Setze Benutzer-Berechtigungen..." chown -R user:user /home/user # Installiere Services echo "Installiere Services..." chmod 644 myp-backend.service chmod 644 myp-kiosk.service cp myp-backend.service /etc/systemd/system/ cp myp-kiosk.service /etc/systemd/system/ systemctl daemon-reload systemctl enable myp-backend.service systemctl enable myp-kiosk.service # Erstelle Benutzer 'user' falls nicht vorhanden echo "Erstelle Benutzer 'user'..." if ! id "user" &>/dev/null; then useradd -m -s /bin/bash user echo "user:user" | chpasswd fi # Setze Openbox als Standard-Session echo "Setze Openbox als Standard..." echo "openbox-session" > /home/user/.xsession echo "openbox-session" > /home/user/.xinitrc chmod +x /home/user/.xsession chmod +x /home/user/.xinitrc # Konfiguriere automatischen Login echo "Konfiguriere automatischen Login..." cat > /etc/lightdm/lightdm.conf.d/10-autologin.conf << EOF [Seat:*] autologin-user=user autologin-user-timeout=0 user-session=openbox greeter-session=lightdm-gtk-greeter EOF # Konfiguriere Openbox für Kiosk-Start echo "Konfiguriere Openbox..." mkdir -p /home/user/.config/openbox cat > /home/user/.config/openbox/autostart << EOF # Warte kurz bis System bereit ist sleep 3 # Starte Kiosk-Service automatisch systemctl --user start myp-kiosk.service & EOF # Openbox-Menü deaktivieren (Kiosk-Modus) cat > /home/user/.config/openbox/rc.xml << EOF yes yes EOF chmod 755 /home/user/.config/openbox/autostart chmod 644 /home/user/.config/openbox/rc.xml chown -R user:user /home/user/.config chown -R user:user /home/user/.xsession chown -R user:user /home/user/.xinitrc echo "=== Installation abgeschlossen ===" echo "System wird in 5 Sekunden neu gestartet..." sleep 5 reboot