first commit

This commit is contained in:
2026-05-05 15:54:08 +02:00
commit 28055e6bc7
6 changed files with 387 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
#!/bin/bash
# kiosk-wrapper: uruchamiany jako root
set -e
XDG_RUNTIME_DIR=/run/kiosk
WAYLAND_DISPLAY=${WAYLAND_DISPLAY:-wayland-0}
DPMS_PIPE=/run/kiosk-dpms
DPMS_FILE=$(find /sys/class/drm -maxdepth 2 -name "dpms" 2>/dev/null \
| xargs grep -l "^On" 2>/dev/null | head -n1)
mkdir -p "$XDG_RUNTIME_DIR"
chown kiosk:kiosk "$XDG_RUNTIME_DIR" || true
chmod 0700 "$XDG_RUNTIME_DIR" || true
# Usuń stary pipe jeśli istnieje
rm -f "$DPMS_PIPE"
mkfifo -m 0666 "$DPMS_PIPE"
# Demon DPMS (root) — czyta polecenia on/off z pipe i zapisuje do sysfs
# Działa w tle przez cały czas życia serwisu
( while true; do
if read -r cmd < "$DPMS_PIPE"; then
case "$cmd" in
off) echo -n "Off" > "$DPMS_FILE" 2>/dev/null ;;
on) echo -n "On" > "$DPMS_FILE" 2>/dev/null ;;
esac
fi
done ) &
DPMS_DAEMON_PID=$!
export XDG_RUNTIME_DIR
export WAYLAND_DISPLAY
export DPMS_PIPE
# Uruchom cage; po jego zakończeniu zabij demona
trap "kill $DPMS_DAEMON_PID 2>/dev/null; rm -f $DPMS_PIPE" EXIT
exec /usr/bin/cage -s -- /home/kiosk/kiosk-manager.sh