Servidor y cliente en Linux

Servidor

En el servidor ejecutaremos la orden vncserver para servir el escritorio. La primera vez solicitará una contraseña que será la que deberemos utilizar para conectarnos desde el cliente. Este es un ejemplo de ejecución:

[usuario@servidor usuario]$ vncserver
                                                                                                                                                             
You will require a password to access your desktops.
                                                                                                                                                             
Password: *************************
Verify: *************************
                                                                                                                                                             
New 'servidor.uji.es:1 (usuario)' desktop is servidor.uji.es:1
                                                                                                                                                             
Starting applications specified in /home/usuario/.vnc/xstartup
Log file is /home/usuario/.vnc/servidor.uji.es:1.log
 

Sugerencia

La opción -geometry nos permite especificar el tamaño del escritorio a servir. Por defecto es 1024x768.

Lo que hemos conseguido es servir a través del display 1 el entorno de escritorio de nuestro equipo. Después de la primera ejecución ya no solicitará contraseña. Esta se encuentra almacenada en $HOME/.vnc/passwd

Con la configuración por defecto sirve un entorno sencillo. Si queremos ofrecer el entorno X completo se debe descomentar las primeras líneas del archivo $HOME/.vnc/xstartup

#!/bin/sh
 
# Uncomment the following two lines for normal desktop:
# unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
 

Para dejar de servir este escritorio ejecutaremos

   vncserver -kill :n
 
donde n se corresponde con el display que se ha ofrecido al servir.

Importante

El puerto que utiliza la conexión de VNC es el 5900 + n donde n es el número de display asociado. Deberemos habilitar este puerto en nuestro cortafuegos.

Cliente

En el cliente podremos acceder al escritorio remoto mediante la orden vncviewer. Especificando el servidor y el número de display asignado.

 [usuari@mesam0096 usuari]$ vncviewer servidor.uji.es:1
 

Sugerencia

La opción -Fullscreen mostrará el display en pantalla completa.

Conexión segura

La conexión entre el cliente y el servidor VNC se produce en claro. Si queremos que esta comunicación se realice de forma cifrada podemos usar la redirección de puertos de SSH.

En el cliente deberemos redirigir el puerto de conexión al VNC al propio sistema. Para redirigir el display 1 la orden sería:

[usuari@mesam0096 usuari]$ ssh -fNL 5901:localhost:5901 usuario@servidor.uji.es
usuario@servidor.uji.es's password:
[usuari@mesam0096 usuari]$ 
 
En el cliente ya nos podemos conectar de manera segura mediante la orden:
[usuari@mesam0096 usuari]$vncviewer localhost:1
 

Sugerencia

La opción -via gateway permite hacer esta redirección de puertos de manera automática. Para nuestro ejemplo utilizaríamos localhost como gateway.