Tabla de Contenidos

Sesiones de escritorios remotos desdes el servidor mediante vnc

Las ventajas de acceder a un servidor GNU/Linux por vnc son bastantes, a destacar:

Procedimiento

Partimos de un servidor en el que funciona la conexión remota de terminales, esto es podemor ejecutar: Xnest -query servidor.dominio :100 y conseguir una conexión. Vnc permite usar conexiones de baja calidad pero un con 1 MB/s se obtienen buenos resultados.

Para realizar la instalación nos conetaremos como administardor realizaremos los pasos que se describen a continuación.

¿Que instalar?

En primer lugar instalaremos los programas necesarios para que funcione el servidor:

apt-get install vnc4server xinetd

Asumieremos que se dispone ya de un gestor de arraque gdm, kdm o xdm.

Creando el servicio

Para crear el servico 'vnc' empezaremos con añadir al fichero /etc/services el servicio vnc

sudo echo “vnc 5900/tcp” >> /etc/services

Usamos el puerto 5900, aunque se desaconseja por seguridad, para que puedan realizase múltiples conexiones. Puede ocurrir que solo se consigan dos por vnc, en este caso conviene probar con el gestor xdm.

Posteriormente, crearemos el fichero /etc/xinetd.d/vnc donde se define el servicio que hemos añadido antes:

vim /etc/xinetd.d/vnc

El contenido es:

service vnc
{
  protocol = tcp
  socket_type = stream
  wait = no
  user = nobody
  server = /usr/bin/Xvnc
  server_args = -inetd -query localhost -once -depth 24 -SecurityTypes=none
  disable = no
}

Preparando el gestor de arranque de sesiones

Modificar el fichero del manejador del display:

Si disponemos de gdm:

vim /etc/X11/gdm/gdm.conf

Si tenemos kdm:

vim /usr/share/config/kdm/kdmrc

En ambos casos añadiremos a la estancia [Xdmcp]

Enable=true;
Port=177;

En el caso de utilizar xdm modificaremos el fichero /etc/X11/xdm/xdm-config dejando comentada la siguiente linea:

DisplayManager.requestPort: 0

que queda:

!DisplayManager.requestPort: 0

Modificaremos en el fichero /etc/X11/xdm/Xaccess descomentando la linea:

#* #any host can get a login window

queda:

* #any host can get a login window

Puesta en marcha

Para que las conexiones funcionen debe:os reiniciar el servicio xinetd, eliminando todas las ejecuciones de gdm (kdm o xdm, la que estemos utilizando) y terminar todas las sesiones de xvnc

/etc/init.d/xinetd stop
/etc/init.d/gdm restart
killall Xvnc
/etc/init.d/xinetd start

Probando

Para comprobar el servicio desde la propia máquina bastará con:

xvncviewer localhost

Desde una máquina remota bástará con:

xvncviewer servidor.dominio

Si utilizamos WinXX con el programa vncviewer ejecutamos y en la ventana de conexión indicamos el nombre del servidor.

Referencias