diff options
-rwxr-xr-x | install | 1 | ||||
-rwxr-xr-x | local/bin/sshvnc | 17 |
2 files changed, 18 insertions, 0 deletions
@@ -35,6 +35,7 @@ fi if ask "ssh" "Install SSH config"; then inst private/ssh_config ~/.ssh/config + inst local/bin/sshvnc ~/.local/bin/sshvnc fi if ask "vim" "Install VIM scripts"; then diff --git a/local/bin/sshvnc b/local/bin/sshvnc new file mode 100755 index 0000000..8b6fa0d --- /dev/null +++ b/local/bin/sshvnc @@ -0,0 +1,17 @@ +#!/bin/bash +set -eu + +target="$1" + +localport="5901" +while lsof -i:$localport; do + localport=$((localport + 1)) +done + +ssh -L "$localport":localhost:5900 "$target" \ + 'x11vnc -bg -localhost -display :0' + +vncviewer "localhost:$localport" + +ssh "$target" 'x11vnc -remote stop -localhost -display :0' +ssh -O cancel -L "$localport":localhost:5900 "$target" |