Las ventajas de acceder a un servidor GNU/Linux por vnc son bastantes, a destacar:
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.
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.
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 }
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
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
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.