core-agent-linux/qubes-rpc/admin.vm.TerminalDispVM
2019-05-05 17:59:44 +02:00

18 lines
422 B
Bash

#!/bin/bash --
set -eu
sock_name="$(mktemp -u XXXXXX)"
if [[ "$sock_name" =~ [^a-zA-Z0-9] ]]; then
echo "Invalid internal sock name provided."
exit 1
fi
sock="/var/run/qubes/$sock_name.terminal.sock"
xterm -geometry 80x24 -e /bin/sh -c "
until [ -S $sock ]; do sleep 1; done || true
exec socat file:/dev/tty,rawer,escape=0x0f UNIX-CONNECT:$sock" &
trap 'rm -rf -- "$sock"' EXIT
socat "UNIX-LISTEN:\"$sock\"" -
wait