La versión de VNC que he utilizado ha sido TightVNC y la verdad es que ha sido realmente sencillo hacerlo en Windows. Sin embargo la instalación del servidor en Linux ha sido algo más complicada. Para empezar tuve problemas instalando el rpm ya que me indicaba que no tenía instalado el paquete XFree86. Revisando un poco vi que ya tenía instalado RealVNC a partir de la instalación que hice en su día de Fedora Core 2. Dado que ambos utilizan el mismo protocolo me decidí a arrancarlo y probar a conectarme desde un equipo windows, aunque no iba a ser tan sencillo.
Trasteando y mirando por internet comencé a entender el funcionamiento de VNC bajo Linux, que es sustancialmente diferente al de Windows. En windows lo que hace VNC es tomar el control de la sesión activa, por lo que si hay un usuario delante del equipo verá moverse el ratón conforme otro usuario lo mueva desde el cliente VNC. Sin embargo bajo Linux VNC funciona creando un nuevo display, por lo que no se interfiere con el display que esté utilizando un usuario activo. Aún así es posible obtener el mismo funcionamiento que bajo windows utilizando utilidades como Gemsvnc o Gnome-Vino.
Para poder acceder desde el cliente windows tuve que modificar únicamente un par de archivos:
En el archivo /etc/sysconfig/vncservers hay que añadir las siguientes entradas para habilitar el display 1 para el usuario “nombreusuario” a un tamaño 1024×768
VNCSERVERS="1:nombreusuario"
VNCSERVERARGS[1]="-geometry 1024x768"
En el archivo /home/nombreusuario/.vnc/xstartup hay que descomentar algunas líneas y comentar otras para que arranque el gestor de ventanas correcto. En otro caso el gestor que nos arranca es muy básico, el twm, con una terminal únicamente.
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
#[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
#[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
#xsetroot -solid grey
#vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
Ahora ya sólo falta crear un password para el usuario en vnc. Esto se hace mediante el comando
vncpasswd nombreusuario.
Una vez realizados estos pasos ya tendríamos configurado el servidor VNC en linux. Para conectarnos desde el cliente deberíamos solicitar una conexión indicando la dirección IP o nombre del servidor, y el display que queramos utilizar, por ejemplo: 192.168.10.100:1
Si todo ha ido bien nos pedirá el password que hemos configurado, tras lo cual se nos mostrará el escritorio de Linux, tal como lo habríamos visto de conectarnos directamente en el equipo. Hay que recordar que estamos manejando un display diferente (1), por lo que sería posible acceder al equipo y trabajar desde el display normal (0) sin interferir entre ellos.
Más referencias:
- Acceso al display 0
- Cómo compartir el escritorio de Fedora usando VNC