18 lines
422 B
Bash
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
|