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