Dateien nach "/" hochladen
This commit is contained in:
@@ -0,0 +1,132 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# -----------------------------
|
||||||
|
# Konfiguration
|
||||||
|
# -----------------------------
|
||||||
|
USER_NAME=$(whoami)
|
||||||
|
HOME_DIR="/home/$USER_NAME"
|
||||||
|
KIOSK_URL="https://aow.de" # <- HIER URL ÄNDERN
|
||||||
|
|
||||||
|
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)
|
||||||
|
CHROMIUM_PKG="chromium"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Nicht unterstützte Architektur: $ARCH"
|
||||||
|
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
|
||||||
|
|
||||||
|
# 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!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Chromium Binary: $CHROMIUM_BIN"
|
||||||
|
|
||||||
|
# -----------------------------
|
||||||
|
# kiosk.sh erstellen
|
||||||
|
# -----------------------------
|
||||||
|
echo "Erstelle kiosk.sh..."
|
||||||
|
|
||||||
|
cat <<EOF > $HOME_DIR/kiosk.sh
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
export DISPLAY=:0
|
||||||
|
|
||||||
|
# Bildschirm nie ausschalten
|
||||||
|
xset s noblank
|
||||||
|
xset s off
|
||||||
|
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 im Kiosk starten
|
||||||
|
$CHROMIUM_BIN \
|
||||||
|
--noerrdialogs \
|
||||||
|
--disable-infobars \
|
||||||
|
--disable-session-crashed-bubble \
|
||||||
|
--kiosk "$KIOSK_URL" &
|
||||||
|
|
||||||
|
# Optional: Tab-Wechsel Loop
|
||||||
|
while true; do
|
||||||
|
xdotool keydown ctrl+Tab
|
||||||
|
xdotool keyup ctrl+Tab
|
||||||
|
sleep 10
|
||||||
|
done
|
||||||
|
EOF
|
||||||
|
|
||||||
|
chmod +x $HOME_DIR/kiosk.sh
|
||||||
|
|
||||||
|
# -----------------------------
|
||||||
|
# systemd Service erstellen
|
||||||
|
# -----------------------------
|
||||||
|
echo "Erstelle systemd Service..."
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
[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
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# -----------------------------
|
||||||
|
# Service aktivieren
|
||||||
|
# -----------------------------
|
||||||
|
echo "Aktiviere Service..."
|
||||||
|
|
||||||
|
sudo systemctl daemon-reexec
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
sudo systemctl enable kiosk.service
|
||||||
|
|
||||||
|
echo "========================================="
|
||||||
|
echo "Installation abgeschlossen."
|
||||||
|
echo "Bitte Neustarten:"
|
||||||
|
echo "sudo reboot"
|
||||||
|
echo "========================================="
|
||||||
Reference in New Issue
Block a user