Erster Upload
This commit is contained in:
@@ -0,0 +1,9 @@
|
|||||||
|
|
||||||
|
Autostart rotation beenden:
|
||||||
|
pkill -f rotate.sh && pkill -f chromium
|
||||||
|
|
||||||
|
Rotation manuell starten:
|
||||||
|
~/kiosk/rotate.sh
|
||||||
|
|
||||||
|
Desktop mit script neu starten:
|
||||||
|
sudo systemctl restart lightdm
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Prüfen, ob eine URL übergeben wurde
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
echo "Fehler: Keine URL angegeben!"
|
||||||
|
echo "Nutzung: $0 <URL> [Zoom-Prozent]"
|
||||||
|
echo "Beispiel: $0 http://homeassistant:8123 125"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
URL="$1"
|
||||||
|
ZOOM_PROZENT="${2:-100}" # Standardmäßig 100%, falls nichts angegeben wurde
|
||||||
|
|
||||||
|
# Umrechnung von Prozent (z.B. 125) in Faktor (1.25)
|
||||||
|
if [ "$ZOOM_PROZENT" -eq 100 ]; then
|
||||||
|
zoom_factor="1.0"
|
||||||
|
elif [ ${#ZOOM_PROZENT} -eq 2 ]; then
|
||||||
|
zoom_factor="0.$ZOOM_PROZENT"
|
||||||
|
else
|
||||||
|
vorkomma=$(echo "$ZOOM_PROZENT" | sed 's/..$//')
|
||||||
|
nachkomma=$(echo "$ZOOM_PROZENT" | grep -o '..$')
|
||||||
|
zoom_factor="${vorkomma}.${nachkomma}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Display setzen
|
||||||
|
export DISPLAY=:0
|
||||||
|
|
||||||
|
# Monitor aufwachen lassen & Cursor verstecken erzwingen
|
||||||
|
xset s off
|
||||||
|
xset s noblank
|
||||||
|
xset -dpms
|
||||||
|
xset dpms force on
|
||||||
|
xsetroot -cursor_name blank
|
||||||
|
|
||||||
|
# Laufenden Kiosk/Chromium killen
|
||||||
|
|
||||||
|
pkill -9 -f rotate.sh
|
||||||
|
pkill -9 -f chromium
|
||||||
|
pkill -9 -f brave
|
||||||
|
|
||||||
|
echo "Debug-Modus: Starte $URL mit $ZOOM_PROZENT% Zoom..."
|
||||||
|
|
||||||
|
# Chromium direkt starten
|
||||||
|
brave-browser --kiosk --no-first-run --new-window \
|
||||||
|
--ignore-certificate-errors \
|
||||||
|
--test-type \
|
||||||
|
--force-device-scale-factor="$zoom_factor" \
|
||||||
|
--user-data-dir=/tmp/chromium-kiosk \
|
||||||
|
--disk-cache-dir=/tmp/chromium-cache --disk-cache-size=1 \
|
||||||
|
--enable-features=CookieDeprecationFacilitatedTesting,AutofillEnableCookieConsentDecline \
|
||||||
|
--lang=de-DE \
|
||||||
|
--accept-lang=de-DE,de,en-US,en \
|
||||||
|
--disable-translate \
|
||||||
|
"$URL" &
|
||||||
|
|
||||||
|
echo "Gestartet: $URL"
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Prüfen, ob eine URL übergeben wurde
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
echo "Fehler: Keine URL angegeben!"
|
||||||
|
echo "Nutzung: $0 <URL> [Zoom-Prozent]"
|
||||||
|
echo "Beispiel: $0 http://homeassistant:8123 125"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
URL="$1"
|
||||||
|
ZOOM_PROZENT="${2:-100}" # Standardmäßig 100%, falls nichts angegeben wurde
|
||||||
|
|
||||||
|
# Umrechnung von Prozent (z.B. 125) in Faktor (1.25)
|
||||||
|
if [ "$ZOOM_PROZENT" -eq 100 ]; then
|
||||||
|
zoom_factor="1.0"
|
||||||
|
elif [ ${#ZOOM_PROZENT} -eq 2 ]; then
|
||||||
|
zoom_factor="0.$ZOOM_PROZENT"
|
||||||
|
else
|
||||||
|
vorkomma=$(echo "$ZOOM_PROZENT" | sed 's/..$//')
|
||||||
|
nachkomma=$(echo "$ZOOM_PROZENT" | grep -o '..$')
|
||||||
|
zoom_factor="${vorkomma}.${nachkomma}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Display setzen
|
||||||
|
export DISPLAY=:0
|
||||||
|
|
||||||
|
# Monitor aufwachen lassen & Cursor verstecken erzwingen
|
||||||
|
xset s off
|
||||||
|
xset s noblank
|
||||||
|
xset -dpms
|
||||||
|
xset dpms force on
|
||||||
|
xsetroot -cursor_name blank
|
||||||
|
|
||||||
|
# Laufenden Kiosk/Chromium killen
|
||||||
|
pkill -9 -f rotate.sh
|
||||||
|
pkill -9 -f chromium
|
||||||
|
|
||||||
|
echo "Debug-Modus: Starte $URL mit $ZOOM_PROZENT% Zoom..."
|
||||||
|
|
||||||
|
# Chromium direkt starten
|
||||||
|
chromium --kiosk --no-first-run --new-window \
|
||||||
|
--ignore-certificate-errors \
|
||||||
|
--test-type \
|
||||||
|
--force-device-scale-factor="$zoom_factor" \
|
||||||
|
--user-data-dir=/tmp/chromium-kiosk \
|
||||||
|
--disk-cache-dir=/tmp/chromium-cache --disk-cache-size=1 \
|
||||||
|
--enable-features=CookieDeprecationFacilitatedTesting,AutofillEnableCookieConsentDecline \
|
||||||
|
--lang=de-DE \
|
||||||
|
--accept-lang=de-DE,de,en-US,en \
|
||||||
|
--disable-translate \
|
||||||
|
"$URL" &
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
Dauer;Von;Bis;zoom;URL
|
||||||
|
30;06:00;22:00;200;https://heise.de
|
||||||
|
120;00:00;23:59;150;https://monitoring.it.sus/SuS1/check_mk/login.py?_username=monitor&_password=monitormonitor&_login=1
|
||||||
|
500;00:00;23:59;100;https://www.youtube.com/watch?v=wXPA2B3pZuU&list=PL4A2F331EE86DCC22
|
||||||
|
500;00:00;23:59;100;https://www.youtube.com/watch?v=bN-mcmdrg4c
|
||||||
|
60;09:00;18:00;200;https://grafana.intern.sus/d/adwxbb4/telefon-pools-public?
|
||||||
|
180;06:00;22:00;150;http://homeassistant:8123/dashboard-kameras/1?hide_sidebar
|
||||||
|
180;06:00;22:00;150;http://homeassistant:8123/dashboard-kameras/0?hide_sidebar
|
||||||
|
120;00:00;23:59;150;https://monitoring.it.sus/SuS1/check_mk/login.py?_username=monitor&_password=monitormonitor&_login=1
|
||||||
|
60;07:00;18:00;200;https://grafana.intern.sus/d/eecq3g0i0ln28d/benutzer-auf-standorte?orgId=1&kiosk
|
||||||
|
60;07:00;18:00;200;https://grafana.intern.sus/d/adtfkd9/notierungen-nach-region-med?orgId=1&from=now-1y&to=now&timezone=utc&var-artikel=101&var-type=OMR%20TAG&kiosk
|
||||||
|
60;13:00;17:00;200;https://grafana.intern.sus/d/fe9dblr3sui9sa/auftrage?orgid=1&kiosk
|
||||||
|
60;09:00;12:00;200;https://grafana.intern.sus/d/ce9v0kqqo4ni8d/umsatz-karte?orgid=1&kiosk
|
||||||
|
60;09:00;18:00;200;https://grafana.intern.sus/d/adzpp4h/telefonie-gesamt-public?kiosk
|
||||||
|
120;00:00;23:59;150;https://monitoring.it.sus/SuS1/check_mk/login.py?_username=monitor&_password=monitormonitor&_login=1
|
||||||
|
@@ -0,0 +1,102 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
export DISPLAY=:0
|
||||||
|
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
|
||||||
|
CSV_FILE="$SCRIPT_DIR/playlist.csv"
|
||||||
|
|
||||||
|
time_to_minutes() {
|
||||||
|
local hh=$(echo "$1" | cut -d: -f1)
|
||||||
|
local mm=$(echo "$1" | cut -d: -f2)
|
||||||
|
echo $(( 10#$hh * 60 + 10#$mm ))
|
||||||
|
}
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
if [ ! -f "$CSV_FILE" ]; then
|
||||||
|
sleep 10
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
NOW_STR=$(date +"%H:%M")
|
||||||
|
NOW=$(time_to_minutes "$NOW_STR")
|
||||||
|
|
||||||
|
tail -n +2 "$CSV_FILE" | while IFS=';' read -r dauer von bis zoom_prozent url; do
|
||||||
|
|
||||||
|
dauer=$(echo "$dauer" | tr -d '\r' | xargs)
|
||||||
|
von=$(echo "$von" | tr -d '\r' | xargs)
|
||||||
|
bis=$(echo "$bis" | tr -d '\r' | xargs)
|
||||||
|
zoom_prozent=$(echo "$zoom_prozent" | tr -d '\r' | xargs)
|
||||||
|
url=$(echo "$url" | tr -d '\r' | xargs)
|
||||||
|
|
||||||
|
[ -z "$url" ] && continue
|
||||||
|
|
||||||
|
if [ -z "$zoom_prozent" ] || [ "$zoom_prozent" -eq 0 ]; then
|
||||||
|
zoom_prozent="100"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$zoom_prozent" -eq 100 ]; then
|
||||||
|
zoom_factor="1.0"
|
||||||
|
elif [ ${#zoom_prozent} -eq 2 ]; then
|
||||||
|
zoom_factor="0.$zoom_prozent"
|
||||||
|
else
|
||||||
|
vorkomma=$(echo "$zoom_prozent" | sed 's/..$//')
|
||||||
|
nachkomma=$(echo "$zoom_prozent" | grep -o '..$')
|
||||||
|
zoom_factor="${vorkomma}.${nachkomma}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
START=$(time_to_minutes "$von")
|
||||||
|
END=$(time_to_minutes "$bis")
|
||||||
|
|
||||||
|
IN_WINDOW=0
|
||||||
|
if [ $START -le $END ]; then
|
||||||
|
if [ $NOW -ge $START ] && [ $NOW -le $END ]; then
|
||||||
|
IN_WINDOW=1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ $NOW -ge $START ] || [ $NOW -le $END ]; then
|
||||||
|
IN_WINDOW=1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $IN_WINDOW -eq 1 ]; then
|
||||||
|
# Monitor aufwachen lassen & Cursor verstecken erzwingen
|
||||||
|
xset s off
|
||||||
|
xset s noblank
|
||||||
|
xset -dpms
|
||||||
|
xset dpms force on
|
||||||
|
xsetroot -cursor_name blank
|
||||||
|
|
||||||
|
# Stoppe laufende Instanzen (ohne dieses Skript selbst zu killen)
|
||||||
|
pkill -9 -v -f "$$" -f chromium
|
||||||
|
pkill -9 -v -f "$$" -f brave
|
||||||
|
|
||||||
|
# ==========================================
|
||||||
|
# BROWSER-AUSWAHL (Hier flexibel umschalten)
|
||||||
|
# ==========================================
|
||||||
|
|
||||||
|
# OPTION A: Brave Browser (Inkl. nativem Cookie-Blocker)
|
||||||
|
brave-browser --kiosk --no-first-run --new-window \
|
||||||
|
--ignore-certificate-errors \
|
||||||
|
--test-type \
|
||||||
|
--force-device-scale-factor="$zoom_factor" \
|
||||||
|
--user-data-dir=/tmp/brave-kiosk \
|
||||||
|
--disk-cache-dir=/tmp/brave-cache --disk-cache-size=1 \
|
||||||
|
--enable-features=BraveAdblockCookieListCp \
|
||||||
|
--autoplay-policy=no-user-gesture-required \
|
||||||
|
"$url" &
|
||||||
|
|
||||||
|
# OPTION B: Chromium (Falls gewünscht, Zeile oben auskommentieren und hier die Raute entfernen)
|
||||||
|
#chromium --kiosk --no-first-run --new-window \
|
||||||
|
# --ignore-certificate-errors \
|
||||||
|
# --test-type \
|
||||||
|
# --force-device-scale-factor="$zoom_factor" \
|
||||||
|
# --user-data-dir=/tmp/chromium-kiosk \
|
||||||
|
# --disk-cache-dir=/tmp/chromium-cache --disk-cache-size=1 \
|
||||||
|
# --autoplay-policy=no-user-gesture-required \
|
||||||
|
# --lang=de-DE \
|
||||||
|
# --accept-lang=de-DE,de,en-US,en \
|
||||||
|
# "$url" &
|
||||||
|
|
||||||
|
sleep "$dauer"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
+236
@@ -0,0 +1,236 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# --- SYSTEMPRÜFUNG ---
|
||||||
|
if [ "$EUID" -ne 0 ]; then
|
||||||
|
echo "Bitte starte das Script als root (mit sudo)!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
REAL_USER=${SUDO_USER:-$USER}
|
||||||
|
if [ "$REAL_USER" = "root" ]; then
|
||||||
|
echo "Fehler: Bitte führe dieses Script mit 'sudo' aus einem normalen Benutzerkonto aus."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
USER_HOME="/home/$REAL_USER"
|
||||||
|
KIOSK_DIR="$USER_HOME/kiosk"
|
||||||
|
SMB_PASSWORD="Eugen.23" # <--- HIER DEIN PASSWORT EINTRAGEN
|
||||||
|
|
||||||
|
echo "============================================="
|
||||||
|
echo "Starte Kiosk- und Samba-Setup für User: $REAL_USER"
|
||||||
|
echo "============================================="
|
||||||
|
|
||||||
|
# --- 1. ABHÄNGIGKEITEN INSTALLIEREN ---
|
||||||
|
echo "[1/5] Installiere X11-Basis, Openbox, LightDM, Samba, Chromium und Tools..."
|
||||||
|
apt update
|
||||||
|
apt install -y xserver-xorg openbox lightdm psmisc samba x11-xserver-utils unclutter git curl gpg chromium
|
||||||
|
|
||||||
|
# --- BRAVE BROWSER REPOSITORY & INSTALLATION ---
|
||||||
|
echo "Füge Brave-Repository hinzu und installiere Brave..."
|
||||||
|
curl -fsSLo /usr/share/keyrings/brave-browser-archive-keyring.gpg https://brave-browser-apt-release.s3.brave.com/brave-browser-archive-keyring.gpg
|
||||||
|
echo "deb [signed-by=/usr/share/keyrings/brave-browser-archive-keyring.gpg] https://brave-browser-apt-release.s3.brave.com/ stable main" | tee /etc/apt/sources.list.d/brave-browser-release.list
|
||||||
|
apt update
|
||||||
|
apt install -y brave-browser
|
||||||
|
|
||||||
|
# --- 2. VERZEICHNISSE & RECHTE EINRICHTEN ---
|
||||||
|
echo "[2/5] Erstelle Kiosk-Verzeichnis und setze Berechtigungen..."
|
||||||
|
mkdir -p "$KIOSK_DIR"
|
||||||
|
chmod 755 "$USER_HOME"
|
||||||
|
chmod 755 "$KIOSK_DIR"
|
||||||
|
|
||||||
|
# --- 3. SAMBA (MIT PASSWORT) KONFIGURIEREN ---
|
||||||
|
echo "[3/5] Konfiguriere Samba-Freigabe mit Passwortschutz..."
|
||||||
|
sed -i '/\[Kiosk\]/,+10d' /etc/samba/smb.conf
|
||||||
|
|
||||||
|
# Sichere, passwortgeschützte Freigabe anhängen
|
||||||
|
cat <<EOF >> /etc/samba/smb.conf
|
||||||
|
|
||||||
|
[Kiosk]
|
||||||
|
comment = Kiosk Playlist Freigabe
|
||||||
|
path = $KIOSK_DIR
|
||||||
|
browseable = yes
|
||||||
|
read only = no
|
||||||
|
valid users = $REAL_USER
|
||||||
|
force user = $REAL_USER
|
||||||
|
create mask = 0644
|
||||||
|
directory mask = 0755
|
||||||
|
EOF
|
||||||
|
|
||||||
|
echo "Setze Samba-Passwort automatisch für User: $REAL_USER..."
|
||||||
|
echo -e "$SMB_PASSWORD\n$SMB_PASSWORD" | smbpasswd -a "$REAL_USER"
|
||||||
|
systemctl restart smbd nmbd
|
||||||
|
|
||||||
|
# --- 4. BEISPIEL PLAYLIST.CSV ERSTELLEN ---
|
||||||
|
if [ ! -f "$KIOSK_DIR/playlist.csv" ]; then
|
||||||
|
echo "[4/5] Erstelle Beispiel-Playlist (playlist.csv)..."
|
||||||
|
cat <<EOF > "$KIOSK_DIR/playlist.csv"
|
||||||
|
Dauer;Von;Bis;Zoom;URL
|
||||||
|
20;06:00;22:00;100;https://heise.de
|
||||||
|
30;00:00;23:59;125;https://google.com
|
||||||
|
EOF
|
||||||
|
fi
|
||||||
|
|
||||||
|
# --- 5. ROTATIONS-SCRIPT ERSTELLEN ---
|
||||||
|
echo "[5/5] Erstelle Rotations-Script (rotate.sh)..."
|
||||||
|
|
||||||
|
cat <<'EOF' > "$KIOSK_DIR/rotate.sh"
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
export DISPLAY=:0
|
||||||
|
SCRIPT_DIR=$(dirname "$(readlink -f "$0")")
|
||||||
|
CSV_FILE="$SCRIPT_DIR/playlist.csv"
|
||||||
|
|
||||||
|
time_to_minutes() {
|
||||||
|
local hh=$(echo "$1" | cut -d: -f1)
|
||||||
|
local mm=$(echo "$1" | cut -d: -f2)
|
||||||
|
echo $(( 10#$hh * 60 + 10#$mm ))
|
||||||
|
}
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
if [ ! -f "$CSV_FILE" ]; then
|
||||||
|
sleep 10
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
NOW_STR=$(date +"%H:%M")
|
||||||
|
NOW=$(time_to_minutes "$NOW_STR")
|
||||||
|
|
||||||
|
tail -n +2 "$CSV_FILE" | while IFS=';' read -r dauer von bis zoom_prozent url; do
|
||||||
|
|
||||||
|
dauer=$(echo "$dauer" | tr -d '\r' | xargs)
|
||||||
|
von=$(echo "$von" | tr -d '\r' | xargs)
|
||||||
|
bis=$(echo "$bis" | tr -d '\r' | xargs)
|
||||||
|
zoom_prozent=$(echo "$zoom_prozent" | tr -d '\r' | xargs)
|
||||||
|
url=$(echo "$url" | tr -d '\r' | xargs)
|
||||||
|
|
||||||
|
[ -z "$url" ] && continue
|
||||||
|
|
||||||
|
if [ -z "$zoom_prozent" ] || [ "$zoom_prozent" -eq 0 ]; then
|
||||||
|
zoom_prozent="100"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$zoom_prozent" -eq 100 ]; then
|
||||||
|
zoom_factor="1.0"
|
||||||
|
elif [ ${#zoom_prozent} -eq 2 ]; then
|
||||||
|
zoom_factor="0.$zoom_prozent"
|
||||||
|
else
|
||||||
|
vorkomma=$(echo "$zoom_prozent" | sed 's/..$//')
|
||||||
|
nachkomma=$(echo "$zoom_prozent" | grep -o '..$')
|
||||||
|
zoom_factor="${vorkomma}.${nachkomma}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
START=$(time_to_minutes "$von")
|
||||||
|
END=$(time_to_minutes "$bis")
|
||||||
|
|
||||||
|
IN_WINDOW=0
|
||||||
|
if [ $START -le $END ]; then
|
||||||
|
if [ $NOW -ge $START ] && [ $NOW -le $END ]; then
|
||||||
|
IN_WINDOW=1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ $NOW -ge $START ] || [ $NOW -le $END ]; then
|
||||||
|
IN_WINDOW=1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $IN_WINDOW -eq 1 ]; then
|
||||||
|
# Monitor aufwachen lassen & Cursor verstecken erzwingen
|
||||||
|
xset s off
|
||||||
|
xset s noblank
|
||||||
|
xset -dpms
|
||||||
|
xset dpms force on
|
||||||
|
xsetroot -cursor_name blank
|
||||||
|
|
||||||
|
# Stoppe laufende Instanzen (ohne dieses Skript selbst zu killen)
|
||||||
|
pkill -9 -v -f "$$" -f chromium
|
||||||
|
pkill -9 -v -f "$$" -f brave
|
||||||
|
|
||||||
|
# ==========================================
|
||||||
|
# BROWSER-AUSWAHL (Hier flexibel umschalten)
|
||||||
|
# ==========================================
|
||||||
|
|
||||||
|
# OPTION A: Brave Browser (Inkl. nativem Cookie-Blocker)
|
||||||
|
brave-browser --kiosk --no-first-run --new-window \
|
||||||
|
--ignore-certificate-errors \
|
||||||
|
--test-type \
|
||||||
|
--force-device-scale-factor="$zoom_factor" \
|
||||||
|
--user-data-dir=/tmp/brave-kiosk \
|
||||||
|
--disk-cache-dir=/tmp/brave-cache --disk-cache-size=1 \
|
||||||
|
--enable-features=BraveAdblockCookieListCp \
|
||||||
|
--autoplay-policy=no-user-gesture-required \
|
||||||
|
"$url" &
|
||||||
|
|
||||||
|
# OPTION B: Chromium (Falls gewünscht, Zeile oben auskommentieren und hier die Raute entfernen)
|
||||||
|
#chromium --kiosk --no-first-run --new-window \
|
||||||
|
# --ignore-certificate-errors \
|
||||||
|
# --test-type \
|
||||||
|
# --force-device-scale-factor="$zoom_factor" \
|
||||||
|
# --user-data-dir=/tmp/chromium-kiosk \
|
||||||
|
# --disk-cache-dir=/tmp/chromium-cache --disk-cache-size=1 \
|
||||||
|
# --autoplay-policy=no-user-gesture-required \
|
||||||
|
# --lang=de-DE \
|
||||||
|
# --accept-lang=de-DE,de,en-US,en \
|
||||||
|
# "$url" &
|
||||||
|
|
||||||
|
sleep "$dauer"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
done
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Eigentumsrechte und Ausführbarkeit für den Kiosk-Ordner korrigieren
|
||||||
|
chown -R "$REAL_USER":"$REAL_USER" "$KIOSK_DIR"
|
||||||
|
chmod +x "$KIOSK_DIR/rotate.sh"
|
||||||
|
|
||||||
|
# --- LIGHTDM AUTO-LOGIN KONFIGURIEREN ---
|
||||||
|
echo "Konfiguriere LightDM Auto-Login für $REAL_USER..."
|
||||||
|
mkdir -p /etc/lightdm/lightdm.conf.d
|
||||||
|
|
||||||
|
cat <<EOF > /etc/lightdm/lightdm.conf.d/80-kiosk-autologin.conf
|
||||||
|
[Seat:*]
|
||||||
|
autologin-user=$REAL_USER
|
||||||
|
autologin-user-timeout=0
|
||||||
|
session-wrapper=/etc/X11/Xsession
|
||||||
|
user-session=openbox
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# --- OPENBOX AUTOSTART EINRICHTEN ---
|
||||||
|
OPENBOX_CONFIG_DIR="$USER_HOME/.config/openbox"
|
||||||
|
AUTOSTART_FILE="$OPENBOX_CONFIG_DIR/autostart"
|
||||||
|
ROTATE_SCRIPT="$USER_HOME/kiosk/rotate.sh"
|
||||||
|
|
||||||
|
echo "Konfiguriere Openbox Autostart für: $REAL_USER"
|
||||||
|
mkdir -p "$OPENBOX_CONFIG_DIR"
|
||||||
|
|
||||||
|
cat <<EOF > "$AUTOSTART_FILE"
|
||||||
|
# --------------------------------------------------
|
||||||
|
# Openbox Autostart für Kiosk-Betrieb
|
||||||
|
# --------------------------------------------------
|
||||||
|
|
||||||
|
# Deaktiviere Bildschirmschoner und Standby auf X-Server-Ebene
|
||||||
|
xset s off
|
||||||
|
xset s noblank
|
||||||
|
xset -dpms
|
||||||
|
|
||||||
|
# Erzwinge systemweit einen leeren/unsichtbaren Mauszeiger von Beginn an
|
||||||
|
xsetroot -cursor_name blank &
|
||||||
|
|
||||||
|
# Verhindere, dass der Mauszeiger im Bild zu sehen ist (Fallback)
|
||||||
|
unclutter -idle 0.5 -root &
|
||||||
|
|
||||||
|
# Starte das Kiosk-Rotations-Script im Hintergrund
|
||||||
|
$ROTATE_SCRIPT &
|
||||||
|
EOF
|
||||||
|
|
||||||
|
chown -R "$REAL_USER":"$REAL_USER" "$USER_HOME/.config"
|
||||||
|
chmod 644 "$AUTOSTART_FILE"
|
||||||
|
|
||||||
|
# X11/Grafischen Modus als Standard setzen für den Bootvorgang
|
||||||
|
systemctl set-default graphical.target
|
||||||
|
|
||||||
|
echo "================================================"
|
||||||
|
echo "SETUP ERFOLGREICH BEENDET!"
|
||||||
|
echo "Starte das System jetzt neu mit: sudo reboot now"
|
||||||
|
echo "================================================"
|
||||||
|
echo "Im Falle von Updates starte ich den Desktop neu..."
|
||||||
|
systemctl restart lightdm
|
||||||
Reference in New Issue
Block a user