From d7db593253758d10293399f0d5b90ad27f51c7c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Av=C3=A9?= Date: Mon, 1 Apr 2024 01:14:38 +0200 Subject: [PATCH 1/3] Continue waypipe work --- scripts/launch_alacritty.sh | 7 ++++--- zsh/.zshrc | 19 ++++++++++--------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/scripts/launch_alacritty.sh b/scripts/launch_alacritty.sh index a78b26c..3f1f431 100755 --- a/scripts/launch_alacritty.sh +++ b/scripts/launch_alacritty.sh @@ -21,9 +21,10 @@ if [ "$GRAND_CHILD_PID" != 0 ]; then fi -if [ $RUNNING_SSH == true ] || [ $RUNNING_WAYPIPE == true ]; then - PORT=$(ss -tnpa | grep ssh | grep "pid=$CHILD_PID" | awk '{ print $4 }' | grep -o '[0-9]*$') - alacritty -e ssh "$SSH_CLIENT" -t "cd \"\$(readlink -e /proc/\$(cat /tmp/ssh_session_$PORT)/cwd)\"; zsh --login" +if [ $RUNNING_WAYPIPE == true ]; then + PREVIOUS_SESSION_ID=$(grep -z "SSH_SESSION_ID" "/proc/$CHILD_PID/environ" | xargs -0 -n 1 | grep -oP "[0-9]*") + 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 if [ "$(ps -p "$1" -o comm=)" == "alacritty" ]; then CWD=$(readlink -e /proc/"$CHILD_PID"/cwd) diff --git a/zsh/.zshrc b/zsh/.zshrc index 29034de..e865c22 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -154,8 +154,15 @@ function zvm_after_init() { bindkey -M vicmd "^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 - cd $REMOTE_PATH + cd "$REMOTE_PATH" + elif [ "$PREVIOUS_SESSION_ID" != "" ]; then + cd $(readlink -e /proc/$(cat /tmp/ssh_sessions/$PREVIOUS_SESSION_ID)/cwd) fi } @@ -226,7 +233,8 @@ function o () { } 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" @@ -234,13 +242,6 @@ alias vault="run_waypipe vault" alias riva="run_waypipe riva" 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 add-zsh-hook -Uz precmd xterm_title_precmd add-zsh-hook -Uz preexec xterm_title_preexec From 7310122d112fa7b62795b25157da00e0e5b57fef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Av=C3=A9?= Date: Mon, 1 Apr 2024 01:18:59 +0200 Subject: [PATCH 2/3] Add start viewer script --- scripts/start_viewer.sh | 2 ++ 1 file changed, 2 insertions(+) create mode 100755 scripts/start_viewer.sh diff --git a/scripts/start_viewer.sh b/scripts/start_viewer.sh new file mode 100755 index 0000000..2cb5d51 --- /dev/null +++ b/scripts/start_viewer.sh @@ -0,0 +1,2 @@ +#!/bin/sh +virt-viewer -c qemu:///system Riva --attach -k From 7a90969e01dd52f2efbcb3a04c0bd67dc88dd2e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Av=C3=A9?= Date: Mon, 1 Apr 2024 01:25:46 +0200 Subject: [PATCH 3/3] Better remote cd --- scripts/backup.sh | 3 ++- scripts/sync_vault.sh | 1 + zsh/.zshrc | 6 ++---- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/backup.sh b/scripts/backup.sh index 44cc526..94da88d 100755 --- a/scripts/backup.sh +++ b/scripts/backup.sh @@ -5,8 +5,9 @@ ########################################## set -o pipefail -source "$XDG_CONFIG_HOME"/zsh/secrets.sh export XDG_RUNTIME_DIR=/run/user/1000 +export XDG_CONFIG_HOME=/home/server/.config +source "$XDG_CONFIG_HOME"/zsh/secrets.sh ########################################## # Create sqlite3 backup for Vaultwarden # diff --git a/scripts/sync_vault.sh b/scripts/sync_vault.sh index 0d02061..7f371e6 100755 --- a/scripts/sync_vault.sh +++ b/scripts/sync_vault.sh @@ -1,5 +1,6 @@ #!/bin/bash +export XDG_CONFIG_HOME=/home/server/.config source "$XDG_CONFIG_HOME"/zsh/secrets.sh for _ in {1..2}; do diff --git a/zsh/.zshrc b/zsh/.zshrc index e865c22..4955442 100644 --- a/zsh/.zshrc +++ b/zsh/.zshrc @@ -1,6 +1,4 @@ -if [[ -z "${XDG_CONFIG_HOME}" ]]; then - source ~/.profile -fi +source ~/.profile # Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.config/zsh/.zshrc. # Initialization code that may require console input (password prompts, [y/n] @@ -162,7 +160,7 @@ function zvm_after_init() { if [ "$REMOTE_PATH" != "" ]; then cd "$REMOTE_PATH" elif [ "$PREVIOUS_SESSION_ID" != "" ]; then - cd $(readlink -e /proc/$(cat /tmp/ssh_sessions/$PREVIOUS_SESSION_ID)/cwd) + cd "$(readlink -e /proc/$(cat /tmp/ssh_sessions/$PREVIOUS_SESSION_ID)/cwd)" fi }