Configurar vnc (probado en CentOS, Fedora)

2008 Mayo 27
by richieblog

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

vnc

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:

vntabSi 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:zapiEsto 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):

vnpruebaComo 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.

21 comentarios dejar un →
  1. 2008 Agosto 27
    dr_bizarre Enlace permanente

    funciono impecable man , se agradece

  2. 2008 Agosto 27

    Mejor tutorial no habría podido encontrar. La misma versión de CentOS, fácil y sencillo.
    Muchas garcias.

  3. 2008 Agosto 27

    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 :D y pues, sigan visitando el blog, trato de publicar información interesante lo mas seguido que puedo :O

    salu2!

  4. 2008 Octubre 9
    jose alex Enlace permanente

    que bien mucha gracias me sirvio bastante te lo agradezco

  5. 2008 Octubre 9

    me alegro mucho jose :) sigue visitandonos!

  6. 2008 Noviembre 4

    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.

  7. 2008 Noviembre 4

    jeje grax berri, me alegro que te haya servido, sigue visitandonos!

  8. 2008 Diciembre 24

    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

  9. 2009 Febrero 25

    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

  10. 2009 Febrero 26

    Excelente. Muy detallado. Gracias

  11. 2009 Febrero 27

    puedes dar mas info de tu problema?… no será algun problema con el firewall?

  12. 2009 Marzo 2

    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.

  13. 2009 Marzo 6

    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!

  14. 2009 Marzo 6

    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

  15. 2009 Marzo 8

    las aplicaciones abiertas del fedora? o como?

  16. 2009 Abril 21

    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.

  17. 2009 Abril 21

    Sorry!!!

    Lo que yo quize decir fue…

    Que segui todo el manual….

  18. 2009 Mayo 14

    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

  19. 2009 Mayo 18

    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

  20. 2009 Mayo 29

    Exelente manual… un par de fallos con referencia a como tenia la configuracion en mi sistema… pero paso de maravillas1

    se agradece un monton!

  21. 2009 Agosto 31
    diego leon Enlace permanente

    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

Escribe un comentario

Nota: Puede usar XHTML básico en sus comentarios. Su dirección de correo electrónico nunca será publicada.

Subscripción al comentario vía RSS