Revise the first-boot script to implement a structured approach with 13 numbered steps, allowing for better control over the execution order. Introduce two new one-shot scripts: `01-set-rotation-once.sh` and `02-set-wallpaper-once.sh`, replacing the previous single script approach. Update documentation to reflect these changes, including the new configuration options for enabling/disabling steps and the revised file structure for one-shot scripts. Enhance the dashboard to display first-boot progress, improving user feedback during the initial setup.
32 lines
1.1 KiB
Bash
32 lines
1.1 KiB
Bash
#!/bin/bash
|
|
# One-shot: set reTerminal DM (labwc/Wayland) rotation to Left via wlr-randr, then remove self.
|
|
# Runs once as user pi at first login; deletes its autostart and this script so it never runs again.
|
|
# Logs to /var/log/first-boot.log.
|
|
FIRST_BOOT_LOG="/var/log/first-boot.log"
|
|
BASE="$(basename "$0" .sh)"
|
|
log() { echo "[$(date -Iseconds)] [$BASE] $*" >> "$FIRST_BOOT_LOG" 2>/dev/null || true; }
|
|
|
|
log "started (labwc/wlr-randr)"
|
|
log "waiting 5s for compositor ..."
|
|
sleep 5
|
|
|
|
OUTPUT=""
|
|
if command -v wlr-randr &>/dev/null; then
|
|
OUTPUT=$(wlr-randr 2>/dev/null | awk '/^[A-Za-z0-9_-]+ /{print $1; exit}')
|
|
fi
|
|
if [[ -z "$OUTPUT" ]]; then
|
|
OUTPUT="DSI-1"
|
|
log "using default output: $OUTPUT"
|
|
fi
|
|
|
|
if [[ -n "$OUTPUT" ]] && command -v wlr-randr &>/dev/null; then
|
|
log "applying rotation left (transform 270) on $OUTPUT"
|
|
wlr-randr --output "$OUTPUT" --transform 270 2>&1 | while read -r line; do log "$line"; done
|
|
else
|
|
log "WARNING: wlr-randr not found or no output"
|
|
fi
|
|
|
|
log "removing one-shot desktop and script"
|
|
rm -f "$HOME/.config/autostart/${BASE}.desktop" "$HOME/${BASE}.sh"
|
|
log "finished"
|