kiosk.sh aktualisiert

This commit is contained in:
2026-02-26 12:14:26 +01:00
parent 0ff9fe9ee8
commit a7ec49f3e3
+58 -76
View File
@@ -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 <<EOF > $HOME_DIR/kiosk.sh
@@ -63,7 +43,12 @@ cat <<EOF > $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 <<EOF
[Unit]
Description=Chromium Kiosk
After=graphical.target network-online.target
Wants=graphical.target network-online.target
mkdir -p $HOME_DIR/.config/autostart
[Service]
Environment=DISPLAY=:0
Environment=XAUTHORITY=$HOME_DIR/.Xauthority
ExecStart=$HOME_DIR/kiosk.sh
Restart=always
RestartSec=5
User=$USER_NAME
Group=$USER_NAME
[Install]
WantedBy=graphical.target
cat <<EOF > $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 "========================================="