vdi-cloud/terminal/kiosk-shell/scripts/vdi-kiosk-start

32 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
export DISPLAY="${DISPLAY:-:0}"
export XAUTHORITY="${XAUTHORITY:-/home/armbian/.Xauthority}"
# Optional verified rendering deployment. Parse an allowlist as data; never
# source/eval configuration. Explicit environment overrides the saved defaults.
render_conf="${VDI_RENDER_CONF:-$HOME/.config/vdi-terminal/render.conf}"
if [ -r "$render_conf" ]; then
while IFS='=' read -r key value || [ -n "$key" ]; do
case "$key" in
profile) export VDI_STREAM_PROFILE="${VDI_STREAM_PROFILE:-$value}" ;;
stats) export VDI_STREAM_STATS="${VDI_STREAM_STATS:-$value}" ;;
program) export VDI_MOONLIGHT_PROGRAM="${VDI_MOONLIGHT_PROGRAM:-$value}" ;;
decoder) export VDI_MOONLIGHT_DECODER="${VDI_MOONLIGHT_DECODER:-$value}" ;;
codec) export VDI_MOONLIGHT_CODEC="${VDI_MOONLIGHT_CODEC:-$value}" ;;
bitrate_kbps) export VDI_MOONLIGHT_BITRATE_KBPS="${VDI_MOONLIGHT_BITRATE_KBPS:-$value}" ;;
esac
done < "$render_conf"
fi
# Use the same idempotent recovery for boot and HDMI hotplug. The user service
# supervises ongoing recovery; a singleton lock prevents competing instances.
"$(dirname "$0")/vdi-display-guard" --once >>/tmp/vdi-display-mode.log 2>&1 || true
if ! systemctl --user start vdi-display-guard.service >>/tmp/vdi-display-mode.log 2>&1; then
echo 'WARNING: display guard service unavailable; only boot recovery active' \
>>/tmp/vdi-display-mode.log
fi
exec /home/armbian/vdi-terminal/bin/vdi-kiosk-monitor -- \
/home/armbian/vdi-terminal/bin/kiosk-shell