Files
DeeJanuz--frametop/scripts/doctor.sh
T
DeeJanuzandClaude Opus 5.5 d439bc3f25 Frametop: a multi-screen desktop and universal 3D mouse for the Steam Frame
Several KDE Plasma screens floating in SteamVR, each a real monitor of any
resolution and shape, shown by our own compositor (ft-screens), with a
layout, wrist pinning, and visibility modes; a Bluetooth mouse that drives
all of SteamVR as a room-anchored 3D pointer (input relay, ft-pointer
helper, ft_pointer SteamVR driver); two settings apps; and Bluetooth LE
fixes. Installs on the headset with ./install.sh.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 16:14:13 -06:00

35 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
# Check that the Steam Frame is ready for these projects: reachable (from a PC), the
# distrobox tool and the dev container present, and disk space. Works on the Frame too.
set -uo pipefail
. "$(dirname "${BASH_SOURCE[0]}")/_env.sh"
fail=0
check() {
local label=$1; shift
if out=$("$@" 2>&1); then
printf 'ok %s%s\n' "$label" "${out:+: $out}"
else
printf 'FAIL %s%s\n' "$label" "${out:+: $out}"
fail=1
fi
}
if [ "$FRAME_LOCAL" = 1 ]; then
echo "running on the Frame: $FRAME_REPO"
else
check "ssh key loaded" bash -c 'ssh-add -l | grep -c . | sed "s/$/ key(s)/"'
check "ssh to $FRAME_HOST" ssh -o BatchMode=yes -o ConnectTimeout=8 "$FRAME_HOST" true
if [ "$fail" = 1 ]; then
echo "Skipping device checks. Is the headset on and awake, and on the network?"
exit 1
fi
fi
check "SteamOS" on_frame '. /etc/os-release; echo "$PRETTY_NAME $VERSION_ID build $BUILD_ID, $(uname -m)"'
check "distrobox" on_frame 'test -x ~/.local/bin/distrobox && ~/.local/bin/distrobox version | head -1'
check "container $FRAME_BOX" on_frame "podman ps -a --filter name=^$FRAME_BOX\$ --format '{{.Image}} {{.Status}}' | grep ."
check "repo on the Frame" on_frame 'pwd'
check "free space in ~" on_frame "df -h ~ | awk 'NR==2{print \$4\" free\"}'"
exit "$fail"