Files
USB-AIO/live/intake-login.sh
Denis Stoecklmeier 31ac17dd41
Some checks failed
Tests / test (push) Has been cancelled
Offene Werkstatt-Issues umsetzen
2026-10-15 10:12:29 +02:00

33 lines
1.1 KiB
Bash

#!/usr/bin/env bash
# Sourced on autologin on tty1; no system service owns the compositor.
[[ "$(tty)" == /dev/tty1 ]] || return 0
[[ -z "${WAYLAND_DISPLAY:-}" ]] || return 0
export WLR_RENDERER_ALLOW_SOFTWARE=1
export XDG_SESSION_TYPE=wayland
keyboard_layout=$(python3 - /mnt/intake-data/config/workshop.json <<'PY'
import json
import pathlib
import sys
try:
value = json.loads(pathlib.Path(sys.argv[1]).read_text()).get('keyboard_layout', 'de')
except (OSError, ValueError):
value = 'de'
print(value if value in ('de', 'us') else 'de')
PY
)
export XKB_DEFAULT_LAYOUT="$keyboard_layout"
if [[ ! -w /mnt/intake-data ]]; then
printf '\nCS-R Intake: data partition not writable; no scan can be saved.\n' >&2
printf 'Press Enter for diagnostic console...'
read -r _
return 0
fi
if command -v cage >/dev/null && [[ -x /usr/local/bin/intake-gui ]]; then
cage -- /usr/local/bin/intake-gui --data /mnt/intake-data
printf '\nGUI exited. You are at the diagnostic terminal (tty1).\n' >&2
else
printf '\nCage or GUI missing. Attempting controller fallback.\n' >&2
/usr/local/bin/intake-controller --data /mnt/intake-data || true
fi