diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2018-07-07 01:15:42 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2018-07-07 01:15:42 -0300 |
commit | 007a86a6467da934b19be9b6b365dc443e503432 (patch) | |
tree | 28d308438617b5f15000a03ced9be4a32a9c2948 | |
parent | 2742ec14894137949c8252fa396302c7c375c2e2 (diff) | |
download | scripts-007a86a6467da934b19be9b6b365dc443e503432.tar.gz scripts-007a86a6467da934b19be9b6b365dc443e503432.tar.bz2 |
Adds a vnc wrapper
-rwxr-xr-x | vnc | 42 |
1 files changed, 42 insertions, 0 deletions
@@ -0,0 +1,42 @@ +#!/bin/bash +# +# Wrapper around ssh and vncviewer +# + +# Parameters +BASENAME="`basename $0`" +SERVER="$1" + +# Check +if [ -x "$SERVER" ]; then + echo "usage: $BASENAME <server>" + exit 1 +fi + +# Check if vncserver is running in the remote server and start otherwise +ssh $SERVER <<EOF + HOSTNAME="\$(cat /etc/hostname)" + + if [ -e "\$HOME/.vnc/\$HOSTNAME:1.pid" ]; then + PID="\$(cat \$HOME/.vnc/\$HOSTNAME:1.pid)" + + if ! ps \$PID &> /dev/null; then + /usr/bin/vncserver -alwaysshared -dpi 96 -localhost :1 + fi + else + /usr/bin/vncserver -alwaysshared -dpi 96 -localhost :1 + fi +EOF + +# See http://www.g-loaded.eu/2006/11/24/auto-closing-ssh-tunnels/ +# Optional SSH compression +#ssh -C -c blowfish -f -L 5901:127.0.0.1:5901 $SERVER sleep 10 +ssh -f -L 5901:127.0.0.1:5901 $SERVER sleep 10 + +# Run VNC client +# Copy $SERVER:~/.vnc/passwd into $HOME/.vnc/$SERVER.passwd for passwordless login +if [ -e "$HOME/.vnc/$SERVER.passwd" ]; then + vncviewer -passwd $HOME/.vnc/$SERVER.passwd localhost:5901 +else + vncviewer localhost:5901 +fi |