From afe2775a8401d34a2136e873e858cc5f0c4a8bd7 Mon Sep 17 00:00:00 2001 From: Maximilian Friedersdorff Date: Thu, 13 Sep 2018 12:49:14 +0100 Subject: [PATCH] Create ssh_in function for tmux shenanigans Copy the current tmux config to the remote server, ssh in and start tmux --- bash/.bash_aliases | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/bash/.bash_aliases b/bash/.bash_aliases index 952029c..40b2d03 100644 --- a/bash/.bash_aliases +++ b/bash/.bash_aliases @@ -27,7 +27,26 @@ fi function ssh_in() { + control_file="$TMPDIR/${1}_ssh_in" + if [[ -e $control_file ]]; then + echo "Session is already open" + exit + fi + + cat ~/.tmux.conf | ssh \ + -M \ + -S "$control_file" \ + -o ControlPersist=yes \ + "${1}" \ + 'cat - > ~/.tmux_ssh.conf' + + i3-sensible-terminal -e \ - ssh -o RemoteCommand="/bin/sh -c 'tmux has-session && exec tmux attach || exec tmux'" \ - -t "$@" + sh -c \ + "ssh \ + -o RemoteCommand=\"/bin/sh -c 'exec tmux -f ~/.tmux_ssh.conf'\" \ + -S \"$control_file\" \ + -t \ + \"$@\" + ssh -O exit -S \"$control_file\" \"$1\"" } -- 2.45.2