Files
steamify-cachyos-dev/scripts/vmshot.sh
T
theupriser f27dd866a1 feat: Release testing, cleaner resets and screenshots; skill updates
- vmwatch.sh --release: run the newest GitHub release in the VM.
- vmreset.sh: skip the broken krfoss mirror, install shellcheck.
- vmshot.sh --clean: close Steam, CachyOS Hello and Konsole first.
- Skill: items 1-7, menu loop and restart question, current inputs, finish on a fresh snapshot, release testing, Steamify shortcut, zsh pitfall.
2026-09-24 13:06:23 +02:00

30 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# Screenshot the guest's Plasma session to a file on the host.
# scripts/vmshot.sh [--clean] <out.png>
# --clean first close what starts with the session and covers the desktop
# (Steam, CachyOS Hello) and the wizard's Konsole.
# spectacle started straight from SSH crashes; run it as a user unit so it
# gets the session's environment.
# Env: VM_USER (theupriser), VM_PORT (2222), VM_HOST (localhost), GUEST_UID (1000).
set -euo pipefail
. "$(dirname "$0")/common.sh"
clean=""
[[ "${1:-}" == --clean ]] && { clean=1; shift; }
out="${1:?usage: $0 [--clean] <out.png>}"
{ printf 'uid=%q clean=%q\n' "${GUEST_UID:-1000}" "$clean"; cat << 'REMOTE'
export XDG_RUNTIME_DIR=/run/user/$uid DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$uid/bus
rm -f /tmp/vmshot.png
if [ -n "$clean" ]; then
# Steam as a whole: closing only its web helper leaves a black window.
# It comes back at the next login (steam-desktop-autostart).
steam -shutdown >/dev/null 2>&1 & sleep 5; pkill -u "$USER" -x steam; pkill -u "$USER" -x steamwebhelper
pkill -u "$USER" cachyos-hello; pkill -u "$USER" -x konsole
sleep 2
fi
sleep 2
systemd-run --user --wait -q spectacle -b -n -f -o /tmp/vmshot.png
REMOTE
} | vm_ssh bash -s
scp -q -P "$VM_PORT" "$VM_USER@$VM_HOST:/tmp/vmshot.png" "$out"
echo "$out"