clawdie-iso/live/operator-session/clawdie-bootstrap-launch.sh

52 lines
1.6 KiB
Bash

#!/bin/sh
# Clawdie Operator USB — session bootstrap
#
# 1. Launch colibri-tui in xfce4-terminal (primary operator dashboard).
# 2. Open the bootstrap docs page in Firefox (reference / quick checks).
#
# The TUI gives live agent supervision (states, sessions, spawn/kill).
# Firefox remains available for docs, browsing, and Tailscale admin.
set -eu
PAGE="${1:-/usr/local/share/clawdie-iso/bootstrap/index.html}"
LOG_DIR="${XDG_CACHE_HOME:-${HOME}/.cache}/clawdie"
LOG_FILE="${LOG_FILE:-${LOG_DIR}/bootstrap.log}"
log_msg() {
echo "$(date '+%Y-%m-%d %H:%M:%S') $1" >> "$LOG_FILE"
}
mkdir -p "$(dirname "$LOG_FILE")"
touch "$LOG_FILE" 2>/dev/null || LOG_FILE=/dev/null
# 1. Launch colibri-tui in a dedicated terminal window.
TUI_BIN="/usr/local/bin/colibri-tui"
TERM_BIN="/usr/local/bin/xfce4-terminal"
if [ -x "$TUI_BIN" ]; then
if [ -x "$TERM_BIN" ]; then
log_msg "Launching colibri-tui in xfce4-terminal"
"$TERM_BIN" \
--title="Colibri Dashboard" \
--geometry=120x30 \
--command="$TUI_BIN" \
>> "$LOG_FILE" 2>&1 &
else
log_msg "xfce4-terminal not found, colibri-tui requires a terminal"
fi
else
log_msg "colibri-tui not found — skipping TUI dashboard"
fi
# 2. Open the bootstrap reference page in Firefox.
URL="file://${PAGE}"
for browser in /usr/local/bin/firefox /usr/local/bin/xdg-open; do
if [ -x "$browser" ]; then
log_msg "Launching ${browser} ${URL}"
exec "$browser" "$URL" >> "$LOG_FILE" 2>&1
fi
done
log_msg "No supported browser found for ${URL}"
exit 1