Update scripts and deploy with gnu stow

This commit is contained in:
2025-06-11 20:56:19 -04:00
parent f66c7a03c2
commit 537f23077e
37 changed files with 903 additions and 677 deletions

50
scripts/script-user-reset-x2go Executable file
View File

@@ -0,0 +1,50 @@
#!/usr/bin/env bash
# This script will reset x2go sessions to a working state
# Use --all to reset all user X2Go sessions
# Copyright 2021-2025 Bryan C. Roessler
# Licensed under the Apache License, Version 2.0
p="${BASH_SOURCE[0]%/*}"; [[ -r $p/script-functions ]] && . "$p"/script-functions || exit 1
echo "Usage: $0 [username|--all]"
USER_LIST=()
if [[ $EUID -gt 0 ]]; then
echo "Run as root for all users. Running in user mode for: $(whoami)"
USER_LIST+=("$(whoami)")
else
if [[ $1 == "--all" ]]; then
for d in /home/*; do [[ -d $d ]] && USER_LIST+=("${d##*/}"); done
elif [[ -n $1 ]]; then
USER_LIST+=("$1")
else
prompt user
USER_LIST+=("$user")
unset user
fi
fi
for user in "${USER_LIST[@]}"; do
# Remove X2Go cache files
shopt -s nullglob
caches=(/home/"$user"/.x2go/C-"$user"-* /home/"$user"/.xsession-x2go-*)
shopt -u nullglob
if (( ${#caches[@]} )); then
ask_ok "Remove X2Go cache files for $user?" &&
rm -rf "${caches[@]}" &&
echo "Removed: ${caches[*]} for $user"
fi
# Terminate X2Go sessions
if [[ $EUID -gt 0 ]]; then
mapfile -t sessions < <(x2golistsessions | grep "$user" | cut -f2 -d'|')
else
mapfile -t sessions < <(x2golistsessions_root | grep "$user" | cut -f2 -d'|')
fi
if (( ${#sessions[@]} )); then
ask_ok "Terminate X2Go sessions for $user?" &&
for session in "${sessions[@]}"; do
x2goterminate-session "$session" &&
echo "Terminated: $session for $user"
done
fi
done