114 lines
2.5 KiB
Bash
114 lines
2.5 KiB
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
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" # <<< URL ANPASSEN
|
|
|
|
ARCH=$(dpkg --print-architecture)
|
|
echo "Erkannte Architektur: $ARCH"
|
|
|
|
case "$ARCH" in
|
|
armhf|arm64|amd64)
|
|
CHROMIUM_PKG="chromium"
|
|
;;
|
|
*)
|
|
echo "Nicht unterstützte Architektur!"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
echo "Installiere benötigte Pakete..."
|
|
sudo apt update
|
|
sudo apt install -y $CHROMIUM_PKG unclutter wmctrl xdotool
|
|
|
|
CHROMIUM_BIN=$(command -v chromium)
|
|
|
|
if [ -z "$CHROMIUM_BIN" ]; then
|
|
echo "Chromium nicht gefunden!"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Chromium Binary: $CHROMIUM_BIN"
|
|
|
|
echo "Erstelle kiosk.sh..."
|
|
|
|
cat <<EOF > $HOME_DIR/kiosk.sh
|
|
#!/bin/bash
|
|
|
|
export DISPLAY=:0
|
|
|
|
# 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
|
|
|
|
# Mauszeiger ausblenden
|
|
unclutter -idle 0.5 -root &
|
|
|
|
# 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 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 \
|
|
--disable-features=TranslateUI &
|
|
|
|
# Falls Window Manager zickt → Fullscreen erzwingen
|
|
sleep 5
|
|
wmctrl -r :ACTIVE: -b add,fullscreen
|
|
|
|
wait
|
|
EOF
|
|
|
|
chmod +x $HOME_DIR/kiosk.sh
|
|
|
|
echo "Erstelle Desktop Autostart..."
|
|
|
|
mkdir -p $HOME_DIR/.config/autostart
|
|
|
|
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
|
|
|
|
echo ""
|
|
echo "========================================="
|
|
echo "Installation abgeschlossen."
|
|
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 "=========================================" |