La Bitácora de Gabriel

Configuración del servicio VNC en RedHat EL

Posteado por: Gabriel en: Agosto 1, 2008

Hola a todos, ya se que hace tiempo no estuve posteando nada, esto se debe principalmente a que no tengo mucho tiempo libre, y el poco tiempo que me estuvo quedando libre estos días después del trabajo lo estuve destinando para interiorizarme en un tema de tesis que me está interesante, además de eso, estuve leyendo libros que me ayuden a plantear mejor mi ante proyecto de tesis, pero de esto hablaré en otra ocasión.

Hoy voy a documentar la configuración de un servidor VNC en Red Hat Enterprise Linux 4 U6 (desde ahora RHEL), ¿porque no en openSUSE? y porque en openSUSE uso FreeNX y el paquete viene en el mismo DVD de instalación o en los repositorios de la comunidad, sin embargo, no encontré FreeNX para RHEL 4 U6 ni en el disco de instalación ni en la web (la verdad que no busque mucho, admito eso), de igual manera VNC servirá para el mismo fin, aunque prefiero FreeNX =)  .

Lo primero que debemos saber es si tenemos instalado el paquete del servicio VNC, en la versión comentada del RHEL el paquete que viene junto con el disco de instalación se llama vnc-server y para saber si está instalado lo podemos probar con el comando rpmquery:

[root@test /]# rpmquery vnc-server
vnc-server-4.0-11.el4

Y si no está instalado el paquete ya sabemos que hay que hacer ¿no?, verificado esto tratamos de arrancar el servicio:

[root@test /]# service vncserver start
Iniciando Servidor VNC:           [  OK ]
[root@test /]#

Configuramos con la herramienta  system-config-services que cada ves que arranque la máquina ya levante el servicio Vnc:


Luego nos toca preparar las sesiones para poder acceder a ellas remotamente, yo voy a configurar el servicio Vnc para que cuando acceda a la sesión 10 (ip_servidor:10) me conecte al entorno del usuario Gabriel  y con la sesión 11 (ip_servidor:11) al entorno del usuario Root. Para habilitar la sesión 10 para el usuarios Gabriel nos tenemos que logear con el mismo, y ejecutar el siguiente comando:

[gabriel@test ~]$ vncserver :10
You will require a password to access your desktops.
Password:
Verify:
New 'test:10 (gabriel)' desktop is test:10
Creating default startup script /home/gabriel/.vnc/xstartup
Starting applications specified in /home/gabriel/.vnc/xstartup
Log file is /home/gabriel/.vnc/test:10.log
[gabriel@test ~]$

Como ven ya nos solicita para crear una contraseña de acceso que nos solicitará cuando tratemos de acceder remotamente, también se creó una carpeta oculta en donde se encuentran varios archivos, uno de los cuales tocaremos más adelante. Para el usuario root repetimos los mismos pasos pero sustituyendo el número de sesión:

[gabriel@oratest ~]$ su - root
Password:
[root@oratest ~]# vncserver :11
You will require a password to access your desktops.
Password:
Verify:
New 'test:11 (root)' desktop is test:11
Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/test:11.log
[root@test ~]#

Luego de hacer esto ya podemos conectarnos desde nuestros clientes Vnc pero nos aparecerá un escritorio muy sencillo, si nos sirve así lo dejamos pero si queremos que aparezca el mismo escritorio que usamos de forma local (gnome, kde, etc), tenemos que realizar unas pequeñas modificaciones en el archivo xstartup que se encuentra en el directorio .vnc del HOME de cada usuario, editamos el archivo y lo modificamos para que quede como sigue:

#!/bin/sh
# 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 &

Solo dejamos esas dos líneas activas y las demás las comentamos todas con el carácter “#”, si estas 2 lineas no existen las escribimos nosotros nomas, para que esta configuración tenga efecto tenemos que finalizar la ejecución del servicio Vnc que está corriendo para esta sesión (hay un proceso por cada usuario que tenga una sesión vnc) y volver a iniciar la sesión:

[gabriel@test ~]$ vncserver -kill :10
Killing Xvnc process ID 25691
[gabriel@test ~]$ vncserver :10
New 'test:10 (gabriel)' desktop is test:10
Starting applications specified in /home/gabriel/.vnc/xstartup
Log file is /home/gabriel/.vnc/test:10.log
[gabriel@test ~]$

El mismo paso tengo que realizar con el usuario root (para mi caso) si quiero cambiar el tipo de escritorio, en mi caso lo dejaré como se generó por defecto.

Así como está todo, cuando reiniciemos la máquina las sesiones de VNC no volverán a estar activas por cada usuario, si queremos que se activen durante el arranque de sistema debemos modificar el archivo /etc/sysconfig/vncservers agregando al final lo siguiente:

VNCSERVERS="10:gabriel 11:root"

de esta forma, la próxima ves que reiniciemos el equipo las sesiones ya estarán listas para ser accedidas.

Detalles a tener en cuenta:

  1. Si queremos cambiar la contraseña de acceso a la sesión de un usuario, por ejemplo gabriel, debemos primero esta logueados con el mencionado usuario y luego ejecutar el comando vncpasswd en la línea de comandos.
    [gabriel@oratest ~]$ vncpasswd
    Password:
    Verify:
    [gabriel@oratest ~]$
  2. Yo particularmente tuve y suelo tener casos en que cuando se inicia el equipo luego de un fallo (se apagó mal), el servicio VNC no levanta las sesiones, si a alguien más le ocurre esto es porque suelen quedar colgados archivos temporales de las sesiones en el directorio /tmp/.X11-unix/ y que no pueden ser sobre escritos durante el proceso de arranque, yo lo solucioné borrando esos archivos temporales y reiniciando el servicio VNC otra ves, sin embargo, es bastante molesto andar borrando esos archivos cada vez que hay problemas.

Algunas Capturas:


12 comentarios para "Configuración del servicio VNC en RedHat EL"

Que tal Gabriel
Gracias por la info, tengo este detalle ya puedo conectarme a mi Linux desde mi Windows pero quisiera saber como acceder al escritorio actual de mi Servidor o como cambiarme de la sesion:11 a la :0 desde linux, para poder ver lo que actualmente esta en el servidor.

De ante mano Gracias

Hola Ale, desde ya gracias por visitar mi blog, con respecto a tu pregunta según tengo entendido no es posible conectarnos a la misma sesión gráfica que tenemos abierta en el equipo cuando levantamos el servicio con tightvnc o en este caso llamado vnc-server ya que tenemos que ir creando sesiones para cada conexión que deseemos recibir y que son totalmente independientes, vuelvo a aclarar que es según lo que tengo entendido, podría estar equivocado y si alguien supiera como hacerlo sería de mi agrado que me lo contaran.

Por otra parte, buscando un poquito (muy poquito sinceramente) sobre este tema encontré un sitio en donde detallan como configurar un servicio VNC con un server llamado x11vnc y que mediante el cual si se puede acceder a la misma sesión gráfica que se está utilizando en el equipo, me fijé en los repositorios de openSUSE 11.0 y el paquete existe y está disponible para ser instalado, también se puede descargar en su versión tar.gz: El artículo es este: http://www.adslayuda.com/Linux-vnc_linux.html

Espero que sea de utilidad.

Saludos.

Excelente, tengo un servidor con red hat enterprise y me sirvió a la perfección =)

Genial, me alegra que el post te haya servido..

Saludos.

Hola como estas gracias por tu informacion me ha servido de mucho, tengo un pequeño problema segui paso a paso y todo salio como nos muestras, pero al momento de conectarme desde una pc no me deja que crees q este sucediendo

he usado real vnc y tightvnc, y no he podido conectarmeque crees que pueda pasar.

Saludos

Marcos

Hola Marcos,

Entre las posibilidades que se me vienen a la cabeza es que el firewall esté bloqueando los puertos del servidor VNC, si has seguido mi manual seguramente has definido las sesiones 10 y 11, estas sesiones corren en los puertos 5910 y 5911 respectivamente y no en el puerto 5900, es por este motivo que en el cliente VNC también tienes que especificarle el número de sesión al estilo “ip_servidor:10″ para que trate de establecer la conexión con el puerto 5910, si no le especificas ninguna sesión el cliente tratará de establecer conexión en el puerto por defecto del servicio VNC que es 5900.

Saludos.

Hola Gabriel, cheque lo que me dijiste y tengo el mismo problema crees que sea que esten por ahi bloqueado los puertos?

Saludos

Hola Marcos, es probable de que el firewall esté bloqueando esos puertos, claro, siempre y cuando tengas el firewall corriendo. Si tienes otra máquina con Linux conectada a la red de tu servidor prueba realizar un escaneo de puertos habilitados con nmap:

# nmap -sS ip_servidor_con_vnc_instalado

en mi caso este comando me retorna varias lineas entre las cuales aparece la que me interesa:

5901/tcp open vnc-1

te comento que yo tengo solamente configurada la sesión Nº 1, supongo que si configuraste la sesión 10 y 11 debería aparecerte algo similar a lo que sigue:

5910/tcp open vnc-10
5911/tcp open vnc-11

Saludos.

Hola Gabriel,
Un articulo muy bueno la verdad, me ha sido de gran ayuda, muchas gracias por tu ayuda…. Yo soy administrador de sistemas y vmware certified asi que si necesitas cualquier ayuda en sistemas no dudes en consultarmelo, te debo una…

Hola Javier, antes que nada gracias por visitar mi bitácora y ofrecer tu ayuda, la verdad que el artículo no es la gran cosa pero me complace saber que sirvió para algo.

Saludos.

Muy Gabriel por dar esos tips concisos y precisos, mira yo tengo en la informatica mucho tiempo… Cualquier ayuda que necesites por favor no dudes en preguntarme. Yo soy Profesor de Servidores como Linux, Server 2003 y otros sistemas operativos… Gracias…

Gracias por su comentario y también por poner a disposición sus conocimientos..

Saludos y éxitos..

Escribe un comentario

cc - by cc cc

Bienvenidos!

Muchas gracias por visitar este pequeño espacio que a medida que pasa el tiempo va cobrando vida y forma, encontrarán mucha información acerca de mi pasión que es la Informática, como así también de mi trabajo y de mi vida personal, espero que les guste! Saludos.

Gabriel K.

Correo Electrónico

Para cualquier consulta, sugerencia, críticas, etc., pueden enviar un correo a:

La imágen

Ídolos: Adam y Jamie de Mythbusters

Ídolos: Adam y Jamie de Mythbusters

Calendario

Agosto 2008
D L M X J V S
« Jun   Oct »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

Categorías

Visitas

  • 36,398

Fotos Flickr

openSUSE v11.1 con KDE v4.2.4

Un fin de semana por Cnel. Oviedo

More Photos

Tira Ecol