Commit 1f7cfe

2026-06-06 17:36:12 Carsten: "Dienste" hinzugefügt
labor23/01_infrastruktur/terminal/bildschirm-dimmung.md ..
@@ 76,6 76,7 @@
### Schritt 3: wl-gammarelay-rs installieren
(Vorkompilierte statische Binärdatei – kein Rust/Compiler auf dem Gerät nötig.)
+ [wl-gammarelay-rs](./wl-gammarelay-rs)
```bash
install -m 755 wl-gammarelay-rs /usr/local/bin/wl-gammarelay-rs
@@ 109,6 110,7 @@
Skript `brightness-server.py` (reines Python, Standardbibliothek) – läuft in der
kiosk-Sitzung und nimmt Web-Anfragen entgegen.
+ [brightness-server.py](./brightness-server.py)
```bash
install -m 755 brightness-server.py /opt/kiosk/brightness-server.py
@@ 123,12 125,61 @@
curl "http://192.168.x.x:8080/get"
```
+ ---
+ ## Autostart & Kiosk-Absicherung (dauerhaft, erledigt ✅)
+
+ ### Daemon-Startskript mit Warte-Schleife
+ `wl-gammarelay-rs` startet beim Booten sonst **zu früh** (bevor labwc den
+ Wayland-Socket bereit hat) und beendet sich. Ein kleines Wrapper-Skript wartet
+ auf den Socket und startet den Daemon erst dann.
+
+ `/usr/local/bin/start-gammarelay.sh`:
+ ```sh
+ #!/bin/sh
+ # wartet auf den Wayland-Socket und startet dann den Dimmer-Daemon
+ for i in $(seq 1 30); do
+ [ -S "$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY" ] && break
+ sleep 0.5
+ done
+ exec /usr/local/bin/wl-gammarelay-rs
+ ```
+ ```bash
+ chmod 755 /usr/local/bin/start-gammarelay.sh
+ chown kiosk:kiosk /usr/local/bin/start-gammarelay.sh
+ ```
+
+ ### labwc-Autostart
+ `/home/kiosk/.config/labwc/autostart`:
+ ```sh
+ /usr/local/bin/start-gammarelay.sh &
+ python3 /opt/kiosk/brightness-server.py &
+ /usr/local/bin/ha-kiosk.sh &
+ wvkbd-mobintl --hidden -L 280 &
+ waybar &
+ ```
+ > In der Autostart-Datei läuft alles bereits als `kiosk` in der Sitzung – daher
+ > KEIN `runuser`/`XDG_RUNTIME_DIR`/`WAYLAND_DISPLAY` nötig, und der Server kann
+ > intern `busctl --user` ohne `--machine` verwenden. Das `&` ist Pflicht, sonst
+ > blockiert labwc.
+
+ ### Chromium-Neustart-Schleife (gegen Alt+F4 / Absturz)
+ In `/usr/local/bin/ha-kiosk.sh` ist der Chromium-Aufruf in eine Schleife
+ gewickelt: Schließt sich der Browser (Alt+F4, Crash), startet er nach 2 s neu.
+ ```sh
+ while true; do
+ flatpak run io.github.ungoogled_software.ungoogled_chromium "${FLAGS[@]}" \
+ > /home/kiosk/kiosk.log 2>&1
+ echo "$(date '+%F %T') Chromium beendet (Exit $?), Neustart in 2s" >> /home/kiosk/kiosk.log
+ sleep 2
+ done
+ ```
+ > `ydotoold` bleibt VOR der Schleife (nur einmal starten). Alt+F4 wurde bewusst
+ > NICHT in labwc deaktiviert – dient als Notausstieg fürs Warten.
+
---
## Noch offen (nächste Schritte)
- - [ ] wl-gammarelay-rs **und** brightness-server.py dauerhaft per labwc-Autostart
- starten: `/home/kiosk/.config/labwc/autostart`
- [ ] Home Assistant: `rest_command` in `configuration.yaml` + Automationen
- [ ] Optional: Zugriffsschutz (Token im Server aktivieren)
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9