Uma opção é usar um pequeno script que encapsula a sessão da área de trabalho remota (usando x11vnc) sobre o ssh
,
: vncoverssh
#!/bin/sh
USERHOST=
ssh -f -L 5900:localhost:5900 $USERHOST \
x11vnc -scale 0.5 -safer -localhost -nopw -once -display :0 \
&& sleep 5 \
&& vncviewer -encodings "tight" localhost:0
Isso pode ser chamado usando
vncoverssh USER@HOST
Esse script pode ser modificado para armazenar o nome do usuário e do host, se desejado.