aboutsummaryrefslogtreecommitdiff
path: root/lib/spawn
blob: 1d19aa4f17e2b021f82f28574dafd1f57a72e185 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/bin/sh
. ./vars

SOCKDIR=$(mktemp -d)
SOCKF=${SOCKDIR}/usock

# Start tmux, if needed
if ! tmux ls | grep -q rshsh; then
	tmux new -s rshsh -d
fi
# Create window

tmux new-window -t rshsh "socat UNIX-LISTEN:${SOCKF},umask=0077 file:\$(tty),raw,echo=0"

# Wait for socket
while test ! -e ${SOCKF} ; do sleep 1 ; done

# Use socat to ship data between the unix socket and STDIO.
exec socat STDIO UNIX-CONNECT:${SOCKF}