From a7ec49f3e3e90a2879a06b0d34485aca852cc254 Mon Sep 17 00:00:00 2001 From: patrick Date: Thu, 26 Feb 2026 12:14:26 +0100 Subject: [PATCH] kiosk.sh aktualisiert --- kiosk.sh | 134 ++++++++++++++++++++++++------------------------------- 1 file changed, 58 insertions(+), 76 deletions(-) diff --git a/kiosk.sh b/kiosk.sh index 0ee1d87..7fd15ff 100644 --- a/kiosk.sh +++ b/kiosk.sh @@ -1,61 +1,41 @@ #!/bin/bash set -e -# ----------------------------- -# Konfiguration -# ----------------------------- +echo "=========================================" +echo " Universal Linux Kiosk Installer" +echo " (Debian 13 / Raspberry Pi OS)" +echo "=========================================" + USER_NAME=$(whoami) HOME_DIR="/home/$USER_NAME" -KIOSK_URL="https://aow.de" # <- HIER URL ÄNDERN +KIOSK_URL="https://aow.de" # <<< URL ANPASSEN -echo "=========================================" -echo " Raspberry Pi / Linux Kiosk Installer" -echo "=========================================" - -# ----------------------------- -# Architektur prüfen -# ----------------------------- ARCH=$(dpkg --print-architecture) - echo "Erkannte Architektur: $ARCH" case "$ARCH" in - armhf|arm64) - CHROMIUM_PKG="chromium-browser" - ;; - amd64) + armhf|arm64|amd64) CHROMIUM_PKG="chromium" ;; *) - echo "Nicht unterstützte Architektur: $ARCH" + echo "Nicht unterstützte Architektur!" exit 1 ;; esac -echo "Verwende Chromium Paket: $CHROMIUM_PKG" - -# ----------------------------- -# Pakete installieren -# ----------------------------- echo "Installiere benötigte Pakete..." sudo apt update -sudo apt install -y $CHROMIUM_PKG xdotool unclutter +sudo apt install -y $CHROMIUM_PKG unclutter wmctrl xdotool -# Binary Pfad ermitteln -if command -v chromium-browser >/dev/null 2>&1; then - CHROMIUM_BIN="/usr/bin/chromium-browser" -elif command -v chromium >/dev/null 2>&1; then - CHROMIUM_BIN="/usr/bin/chromium" -else - echo "Chromium wurde nicht gefunden!" +CHROMIUM_BIN=$(command -v chromium) + +if [ -z "$CHROMIUM_BIN" ]; then + echo "Chromium nicht gefunden!" exit 1 fi echo "Chromium Binary: $CHROMIUM_BIN" -# ----------------------------- -# kiosk.sh erstellen -# ----------------------------- echo "Erstelle kiosk.sh..." cat < $HOME_DIR/kiosk.sh @@ -63,7 +43,12 @@ cat < $HOME_DIR/kiosk.sh export DISPLAY=:0 -# Bildschirm nie ausschalten +# Warten bis Netzwerk online +until ping -c1 8.8.8.8 &>/dev/null; do + sleep 2 +done + +# Bildschirm nie ausschalten (Pi + PC) xset s noblank xset s off xset -dpms @@ -71,62 +56,59 @@ xset -dpms # Mauszeiger ausblenden unclutter -idle 0.5 -root & -# Crash Status korrigieren -sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' $HOME_DIR/.config/chromium/Default/Preferences 2>/dev/null -sed -i 's/"exit_type":"Crashed"/"exit_type":"Normal"/' $HOME_DIR/.config/chromium/Default/Preferences 2>/dev/null +# Chromium Crash-Status fix +sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' ~/.config/chromium/Default/Preferences 2>/dev/null +sed -i 's/"exit_type":"Crashed"/"exit_type":"Normal"/' ~/.config/chromium/Default/Preferences 2>/dev/null -# Chromium im Kiosk starten +# Chromium unter X11 erzwingen (wichtig für Debian 13 + GNOME) $CHROMIUM_BIN \ + --ozone-platform=x11 \ + --app="$KIOSK_URL" \ + --start-fullscreen \ + --kiosk \ --noerrdialogs \ --disable-infobars \ --disable-session-crashed-bubble \ - --kiosk "$KIOSK_URL" & + --disable-features=TranslateUI & -# Optional: Tab-Wechsel Loop -while true; do - xdotool keydown ctrl+Tab - xdotool keyup ctrl+Tab - sleep 10 -done +# Falls Window Manager zickt → Fullscreen erzwingen +sleep 5 +wmctrl -r :ACTIVE: -b add,fullscreen + +wait EOF chmod +x $HOME_DIR/kiosk.sh -# ----------------------------- -# systemd Service erstellen -# ----------------------------- -echo "Erstelle systemd Service..." +echo "Erstelle Desktop Autostart..." -sudo tee /etc/systemd/system/kiosk.service > /dev/null < $HOME_DIR/.config/autostart/kiosk.desktop +[Desktop Entry] +Type=Application +Name=Kiosk +Exec=$HOME_DIR/kiosk.sh +X-GNOME-Autostart-enabled=true EOF -# ----------------------------- -# Service aktivieren -# ----------------------------- -echo "Aktiviere Service..." - -sudo systemctl daemon-reexec -sudo systemctl daemon-reload -sudo systemctl enable kiosk.service - +echo "" echo "=========================================" echo "Installation abgeschlossen." -echo "Bitte Neustarten:" +echo "" +echo "WICHTIG:" +echo "" +echo "🔹 Raspberry Pi:" +echo " sudo raspi-config" +echo " → System Options → Boot / Auto Login → Desktop Autologin" +echo "" +echo "🔹 Debian 13 (GNOME):" +echo " Einstellungen → Benutzer → Automatische Anmeldung" +echo "" +echo "🔹 Falls Wayland aktiv ist:" +echo " sudo nano /etc/gdm3/daemon.conf" +echo " WaylandEnable=false" +echo "" +echo "Danach:" echo "sudo reboot" -echo "=========================================" +echo "=========================================" \ No newline at end of file