Configurar vnc (probado en CentOS, Fedora)
Configurar VNC en Linux
¿Qué es VNC (según wikipedia) ?
VNC son las siglas en inglés de Virtual Network Computing (Computación en Red Virtual).
VNC es un programa de software libre basado en una estructura cliente-servidor el cual nos permite tomar el control del ordenador servidor remotamente a través de un ordenador cliente. También llamado software de escritorio remoto. VNC permite que el sistema operativo en cada computadora sea distinto: Es posible compartir la pantalla de una máquina de “cualquier” sistema operativo conectando desde cualquier otro ordenador o dispositivo que disponga de un cliente VNC portado.
La versión original del VNC se desarrolló en Reino Unido, concretamente en los laboratorios AT&T, en Cambridge. El programa era de código abierto por lo que cualquiera podía modificarlo y existen hoy en día varios programas para el mismo uso.
En la enseñanza VNC sirve para que el profesor comparta su pantalla con los alumnos, por ejemplo en un laboratorio. También puede usarse para que un técnico ayude a un usuario inexperto, el técnico ve remotamente el problema que reporta el usuario.
La intención de este manual es configurarlo en Linux y acceder desde Windows o Linux para comprobar que funciona, lo realicé en CentOS pero creo que no hay diferencia significativa si lo intentamos en Debian, de estar equivocado sientanse libres de decirmelo.
Paso 1 (optativo), si queremos acceder desde Windows requerimos tener el tabbed_vncviewer, lo podemos conseguir en la siguiente dirección: http://www.mediafire.com/?qyt5hd0jg4y
El vnc permite administrar la maquina de manera remota, opera en un ambiente de entorno gráfico a diferencia del putty (por ejemplo).
Paso 2, en Linux necesitamos configurar el VNC y para esto requerimos abrir “terminales” se ponen “:” y un número (puede ser cualquiera), por default tomaremos a 13 como la principal (root), de hecho se pueden abrir varias cuentas para root.
Con el tab viewer nos conectaremos a estas terminales (desde Windows), al momento de generar las terminales hay dos cosas por hacer:
1.- asociarla a una cuenta
2.- ponerle un password de terminal
Paso 3, Como asociar la terminal a una cuenta?
SI queremos crear una terminal para root hay que loggearse con la cuenta de root en la caja.
Comando:
# vncserver :numero
Pide un password, en esta ocasión se optó por tomar el mismo de la caja.
Impresiones de la consola:
|
[root@localhost ~]# vncserver :13
You will require a password to access your desktops.
Password: ***** Verify: *****
New ‘localhost.localdomain:13 (root)’ desktop is localhost.localdomain:13
Creating default startup script /root/.vnc/xstartup Starting applications specified in /root/.vnc/xstartup Log file is /root/.vnc/localhost.localdomain:13.log |
Paso 4, Comprobando que está activo el servidor y que todo opera bien:
|
[root@localhost ~]# netstat -natp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN 2119/hpiod tcp 0 0 0.0.0.0:5807 0.0.0.0:* LISTEN 3558/Xvnc tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1919/portmap tcp 0 0 0.0.0.0:848 0.0.0.0:* LISTEN 1938/rpc.statd tcp 0 0 0.0.0.0:5907 0.0.0.0:* LISTEN 3558/Xvnc tcp 0 0 0.0.0.0:5813 0.0.0.0:* LISTEN 3516/Xvnc tcp 0 0 0.0.0.0:6007 0.0.0.0:* LISTEN 3558/Xvnc tcp 0 0 0.0.0.0:5913 0.0.0.0:* LISTEN 3516/Xvnc tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2161/sendmail: acce tcp 0 0 0.0.0.0:6013 0.0.0.0:* LISTEN 3516/Xvnc tcp 0 0 :::80 :::* LISTEN 2189/httpd tcp 0 0 :::22 :::* LISTEN 2143/sshd tcp 0 0 :::6007 :::* LISTEN 3558/Xvnc tcp 0 0 ::1:631 :::* LISTEN 2134/cupsd tcp 0 0 :::443 :::* LISTEN 2189/httpd tcp 0 0 :::6013 :::* LISTEN 3516/Xvnc |
Tienen que estar abiertos los puertos 58XX y 59XX donde las XX pueden ser 13, 7, 15, acorde al número de terminales que abramos.
Paso 5, Ahora se procede a abrir en windows el VNC, en File-> New Connection, se pone en VNC server la IP del equipo Linux y el número de terminal que se haya creado (en nuestro caso 13), siendo que lo ingresado queda (probablemente entrará a un modo gráfico algo tosco, pero eso se cubre más adelante en este minitutorial), bastaría con loggearse como root:
Si queremos correr el viewer desde un linux basta con teclear ALT+F2 y escribir: vncviewer.
Paso 6, Sugiero que en vez de dejarlo para root creemos un usuario diferente:
# adduser zapien
Nos logeamos como zapien y configuramos para este nuevo usuario:
|
[zapien@localhost ~]$ vncserver :20
You will require a password to access your desktops.
Password: Verify: xauth: creating new authority file /home/zapien/.Xauthority
New ‘localhost.localdomain:20 (zapien)’ desktop is localhost.localdomain:20
Creating default startup script /home/zapien/.vnc/xstartup Starting applications specified in /home/zapien/.vnc/xstartup Log file is /home/zapien/.vnc/localhost.localdomain:20.log |
Paso 7, se requiere automatizar el servidor para que automaticamente abra todos los numeros de terminales que se quieren.
Si no estamos como root, hacer lo siguiente:
# su -lm
# password: ******
# kate /etc/sysconfig/vncservers (cualquier editor de texto, puede ser gedit, vi, vim, etc)
Se abre algo como esto:
|
# The VNCSERVERS variable is a list of display:user pairs. # # Uncomment the lines below to start a VNC server on display :2 # as my ‘myusername’ (adjust this to your own). You will also # need to set a VNC password; run ‘man vncpasswd’ to see how # to do that. # # DO NOT RUN THIS SERVICE if your local area network is # untrusted! For a secure way of using VNC, see # <URL:http://www.uk.research.att.com/archive/vnc/sshvnc.html>.
# Use “-nolisten tcp” to prevent X connections to your VNC server via TCP.
# Use “-nohttpd” to prevent web-based VNC clients connecting.
# Use “-localhost” to prevent remote VNC clients connecting except when # doing so through a secure tunnel. See the “-via” option in the # `man vncviewer’ manual page.
VNCSERVERS=”20:zapi” Esto lo modificamos nosotros # VNCSERVERARGS[2]=”-geometry 800×600 -nolisten tcp -nohttpd -localhost” |
Paso 8, Ahora, si queremos ver el escritorio remoto realmente como lo tiene el usuario a quien queremos conectar (a todo color jeje) hay que hacer la siguiente configuración.
[root@localhost ~]# cd .vnc
[root@localhost .vnc]# vi xstartup
|
#!/bin/sh
# Uncomment the following two lines for normal desktop: unset SESSION_MANAGER (descomentarla) exec /etc/X11/xinit/xinitrc (descomentarla)
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & xterm -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” & twm & |
Y si queremos que el sistema lo arranque desde el inicio:
# chkconfig vncserver on
Listo, se reinicia y confirmamos que salió bien conectandonos desde otra máquina (o si quieres desde la misma no hay gran lio):
Como nota extra tenemos que el vnc se conecta al entorno gráfico por lo que no importa como esté configurado el Linux (me refiero a si anda en modo texto, por asi decirlo) vnc siempre nos dará visual xD, lo que lo hace ideal para configurar servidores por ejemplo.










funciono impecable man , se agradece
Mejor tutorial no habría podido encontrar. La misma versión de CentOS, fácil y sencillo.
Muchas garcias.
para dr_bizarre:
excelente me alegro mucho
para Eduardo Moreno:
jeje grax, de igual manera me alegra que haya funcionado todo muy bien…
ya saben, cualquier duda sugerencia y/o comentario aqui ando
y pues, sigan visitando el blog, trato de publicar información interesante lo mas seguido que puedo :O
salu2!
que bien mucha gracias me sirvio bastante te lo agradezco
me alegro mucho jose
sigue visitandonos!
Aupa richieblog, te pasaste !! después de todas las vueltas que he dado sin encontrar lo que necesitaba aterrizo aquí y a la primera, puah.. flipante .
Gracias por tu trabajo, milesker,
berri.
jeje grax berri, me alegro que te haya servido, sigue visitandonos!
Hola que buen tutorial me ha servido muy bien n mi centos 5.2 y me ha funcionado en local pero desde Internet no me funciona que será he leido por ahi que para Internet se usa el puerto 59xx mi modem s un 2wire de Infinitum y lo configure para que me deje el VNC pero no funciona que sera que sera
estoy intentando conectarme desde una maquina windows a un server centos y no hay manera. He seguido todos los pasos pero me dice que conection failed o algo así. ¿podeis hecharme un cable?
Gracias
Excelente. Muy detallado. Gracias
puedes dar mas info de tu problema?… no será algun problema con el firewall?
Explico, tengo windows xp sin firewall activado. En el otro lado tengo un centos 5.2 server, recien instalado, en el xp tengo el ultravnc, el tightvnc y el realvnc y con ninguno de todos puedo acceder a la maquina. Con el putty si que accedo (dado que es consola), pero a partir de ahí no se hacer nada más, y he probado con todo lo que se postea por ahí.
Gracias de antemano.
levantaste en el centos el servidor de vnc? … que pasos seguiste? probaste los de este manual?… si puedes acceder con putty es por que tienes el servicio de ssh en centos… ojala puedas darme mas información para ver si te puedo ayudar mejor, salu2!
Buen manuel compañero te damos las felicilaciones me funciono perfectamente en Fedora core 5 ………PERO TENGO UNA DUDA CUANDO ME CONNECTO DE UN XP AL FEDORA NO ME MUESTRA LAS APLICACIONES ABIERTAS sabes que podra ser
las aplicaciones abiertas del fedora? o como?
Hola!!!
Segui todo el manuel y no me puedo conectar al servidor remotamente, tengo deshabilitado el firewall, de hecho, tengo el mismo problema que iberinfo.
Si me pueden ayudar se los agradeceria infinitamente.
Sorry!!!
Lo que yo quize decir fue…
Que segui todo el manual….
Buenas, lo primero agradecer el excelente aporte realizado. lo e configurado y me va bien, ahora bien tengo un pequeño problema y esque cuando el usuario no esta iniciado no me deja conectarme. sabees porque puede ser?
gracias
bueno no se si es muy tarde para el post pero tengo un problema:
trato de ingresar remotamente a un servidor dedikado ke una amiga kompro en iweb.com. Le entregaron los datos del ssh y del root del CentOS pero al tratar de realizar el paso 2 en adelante me da error: vncserver :13
-bash: vncserver command not found no se si aun me puedan ayudr kon esto se los agradeceria
Exelente manual… un par de fallos con referencia a como tenia la configuracion en mi sistema… pero paso de maravillas1
se agradece un monton!
Saludos con todos.
quiero accesar remotamente con win xp a mi servidor proxy que lo tengo instalado con centos 4, me podrían ayudar.
mil gracias