Continue waypipe work
This commit is contained in:
parent
efe8d6714a
commit
8c1360f8eb
|
@ -21,9 +21,10 @@ if [ "$GRAND_CHILD_PID" != 0 ]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
if [ $RUNNING_SSH == true ] || [ $RUNNING_WAYPIPE == true ]; then
|
if [ $RUNNING_WAYPIPE == true ]; then
|
||||||
PORT=$(ss -tnpa | grep ssh | grep "pid=$CHILD_PID" | awk '{ print $4 }' | grep -o '[0-9]*$')
|
PREVIOUS_SESSION_ID=$(grep -z "SSH_SESSION_ID" "/proc/$CHILD_PID/environ" | xargs -0 -n 1 | grep -oP "[0-9]*")
|
||||||
alacritty -e ssh "$SSH_CLIENT" -t "cd \"\$(readlink -e /proc/\$(cat /tmp/ssh_session_$PORT)/cwd)\"; zsh --login"
|
SSH_SESSION_ID=$RANDOM
|
||||||
|
alacritty -e zsh -c "SSH_SESSION_ID=$SSH_SESSION_ID waypipe ssh -t \"$SSH_CLIENT\" env SSH_SESSION_ID=\"$SSH_SESSION_ID\" PREVIOUS_SESSION_ID=\"$PREVIOUS_SESSION_ID\" \"zsh --login\""
|
||||||
else
|
else
|
||||||
if [ "$(ps -p "$1" -o comm=)" == "alacritty" ]; then
|
if [ "$(ps -p "$1" -o comm=)" == "alacritty" ]; then
|
||||||
CWD=$(readlink -e /proc/"$CHILD_PID"/cwd)
|
CWD=$(readlink -e /proc/"$CHILD_PID"/cwd)
|
||||||
|
|
19
zsh/.zshrc
19
zsh/.zshrc
|
@ -154,8 +154,15 @@ function zvm_after_init() {
|
||||||
bindkey -M vicmd "^Y" find_local_files
|
bindkey -M vicmd "^Y" find_local_files
|
||||||
bindkey -M viins "^Y" find_local_files
|
bindkey -M viins "^Y" find_local_files
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$SSH_SESSION_ID" != "" ]; then
|
||||||
|
mkdir -p /tmp/ssh_sessions
|
||||||
|
echo $$ > /tmp/ssh_sessions/"$SSH_SESSION_ID"
|
||||||
|
fi
|
||||||
if [ "$REMOTE_PATH" != "" ]; then
|
if [ "$REMOTE_PATH" != "" ]; then
|
||||||
cd $REMOTE_PATH
|
cd "$REMOTE_PATH"
|
||||||
|
elif [ "$PREVIOUS_SESSION_ID" != "" ]; then
|
||||||
|
cd $(readlink -e /proc/$(cat /tmp/ssh_sessions/$PREVIOUS_SESSION_ID)/cwd)
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -226,7 +233,8 @@ function o () {
|
||||||
}
|
}
|
||||||
|
|
||||||
function run_waypipe() {
|
function run_waypipe() {
|
||||||
waypipe ssh -t $1 env REMOTE_PATH="$(pwd)" "zsh --login"
|
SSH_SESSION_ID=$RANDOM
|
||||||
|
SSH_SESSION_ID=$SSH_SESSION_ID waypipe ssh -t $1 env REMOTE_PATH="$(pwd)" SSH_SESSION_ID=$SSH_SESSION_ID "zsh --login"
|
||||||
}
|
}
|
||||||
|
|
||||||
alias mallorea="run_waypipe mallorea"
|
alias mallorea="run_waypipe mallorea"
|
||||||
|
@ -234,13 +242,6 @@ alias vault="run_waypipe vault"
|
||||||
alias riva="run_waypipe riva"
|
alias riva="run_waypipe riva"
|
||||||
alias kell="run_waypipe kell"
|
alias kell="run_waypipe kell"
|
||||||
|
|
||||||
|
|
||||||
if [ "$SSH_CLIENT" ]
|
|
||||||
then
|
|
||||||
source_port=$(echo $SSH_CLIENT | awk '{ print $2 }')
|
|
||||||
echo $$ > /tmp/ssh_session_$source_port
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ "$TERM" == (Eterm*|alacritty*|aterm*|gnome*|konsole*|kterm*|putty*|rxvt*|screen*|tmux*|xterm*) ]]; then
|
if [[ "$TERM" == (Eterm*|alacritty*|aterm*|gnome*|konsole*|kterm*|putty*|rxvt*|screen*|tmux*|xterm*) ]]; then
|
||||||
add-zsh-hook -Uz precmd xterm_title_precmd
|
add-zsh-hook -Uz precmd xterm_title_precmd
|
||||||
add-zsh-hook -Uz preexec xterm_title_preexec
|
add-zsh-hook -Uz preexec xterm_title_preexec
|
||||||
|
|
Loading…
Reference in New Issue