Utilizamos cookies propias y de terceros. [Más información sobre las cookies].
Política de cookies
Proyecto AjpdSoft

· Inicio
· Buscar
· Contactar
· Cookies
· Descargas
· Foros
· Historia
· Nosotros
· Temas
· Top 10
· Trucos
· Tutoriales
· Wiki

Redes: Instalar VNC Server en Linux Ubuntu 9.04, control remoto de Windows a Linux
Linux


Os explicamos en este artículo cómo instalar VNC Server en GNU Linux Ubuntu 9.04, para realizar control remoto de sistemas operativos Microsoft Windows a GNU Linux. VNC Server es un software de control remoto gratuito (el original de AT&T). Además, os explicamos cómo configurar el equipo GNU Linux para que los equipos clientes puedan conectarse mediante el navegador web (sin instalar software adicional).



Definición VNC

VNC (Virtual Network Computing) es un software libre (el original de AT&T) 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, a diferencia de otros programas de control remoto permite instalarse tanto en sistemas operativos Windows, GNU Linux, Unix, Macintosh, etc. Por lo que se podrá hacer control remoto desde un equipo con Windows a otro con GNU Linux y viceversa.

La versión original del VNC se desarrolló en Reino Unido, en los laboratorios AT&T, en Cambridge. El programa era de código abierto por lo que cualquiera podía modificarlo. Debido a esto existen hoy en día varios programas derivados del original VNC (RealVNC, UltraVNC, etc.).

Este software de control remoto también permite la conexión al servidor de VNC del cliente mediante el navegador web (protocolo HTTP), por lo que el equipo cliente no necesita instalar ningún sofware adicional, símplemente necesita un navegador web con soporte para Java, como Mozilla Firefox. Obviamente, para que esto funcione, el servidor con VNC ha de estar correctamente configurado para tal efecto.

Hoy en día existen numerosas aplicaciones de control remoto, como:

  • Remote Administrator (Radmin) de Famatech: es un software muy avanzado de control remoto, con multitud de opciones, alta seguridad y gran velocidad. Aunque este software no admite plataformas GNU Linux, además es de pago.
  • TeamViewer: interesante software de control remoto, que, aunque no es tan avanzado como Radmin, tiene una gran ventaja y es que no necesita apertura de puertos en cortafuegos ni redirección (mapeo) pues utiliza el protocolo HTTP para la conexión. Es gratuito para uso no comercial. Funciona en plataformas Windows y Mac OS X.
  • Otros como: LogMeIn, Carbon Copy, etc.

Aunque, como podemos observar, para GNU Linux hay bastantes menos.

 

Instalación de VNC Server en equipo con GNU Linux Ubuntu 9.04

En primer lugar abriremos una ventana de terminal en GNU Linux Ubuntu, para ello accederemos al menú "Aplicaciones" - "Accesorios" - "Terminal":

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

Escribiremos el siguiente comando GNU Linux para instalar los paquetes necesarios para VNC Server (x11vnc y vnc-java):

sudo apt-get install x11vnc vnc-java

(para ver el resultado de la ejecución de este comando pulsa aquí)

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

Ejecutaremos ahora el siguiente comando GNU Linux para añadir las utilidades necesarias para la configuración de VNC Server (como por ejemplo vncpasswd):

sudo apt-get install vnc-common

(para ver el resultado de la ejecución de este comando pulsa aquí)

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

Opción 1 para establecer la contraseña de VNC: vncpasswd

A continuación estableceremos la contraseña para las conexiones de los clientes al servidor VNC (equipo con GNU Linux Ubuntu 9.04), para ello ejecutaremos el comando GNU Linux:

sudo vncpasswd ~/.vnc/passwd

En realidad, "~/.vnc/passwd" es la carpeta y nombre del fichero donde se alojará la contraseña de VNC encriptada. Se le pone la cerilla delante para que esté "oculta" por seguridad, aunque no sería necesario.

Nos pedirá una contraseña, que será la que nos pida cuando nos conectemos por VNC Client desde otro equipo a este. La contraseña debe tener seis o más caracteres, si intentamos introducir una contraseña más corta nos mostrará el mensaje:

Password must be at least 6 characters - try again

Deberemos introducir la contraseña dos veces:

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

Opción 2 para establecer la contraseña de VNC: storepasswd

Ejecutaremos el siguiente comando en el terminal:

sudo x11vnc -storepasswd

Nos pedirá la contraseña para acceso con VNC Viewer ("Enter VNC password), nos volverá a pedir que la introduzcamos ("Verify password"). Tras introducir la contraseña, nos pedirá confirmación para crear el fichero con la contraseña introducida encriptada ("Write password to /home/ajpdsoft/.vnc/passwd?"), pulsaremos "y". Si todo es correcto y ha creado el fichero passwd nos mostrará un mensaje como este:

Password written to: /home/ajpdsoft/.vnc/passwd

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

Nota: obviamente, la ubicación del fichero passwd variará en función del nombre del usuario con el que hayamos iniciado sesión.

 

Cuando hayamos establecido la contraseña para VNC (mediante alguno de los métodos anteriores), crearemos el fichero "sharex11vnc" (o el nombre que queramos) en la ubicación "/usr/local/bin", con el comando:

sudo nano /usr/local/bin/sharex11vnc

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

Y le añadiremos el siguiente contenido:

x11vnc -nap -bg -many -rfbauth ~/.vnc/passwd

(si hemos usado el segundo método para establecer la contraseña, cambiaremos "~/.vnc/passwd" por la ruta de la contraseña, en nuestro caso "/home/ajpdsoft/.vnc/passwd")

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

Configuraremos ahora el fichero "xorg.conf", para ello lo editaremos con el editor "nano" (o cualquier otro), con el comando:

sudo nano /etc/X11/xorg.conf

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

Añadiremos, en la sección "Screen", las siguientes líneas:

Option "SecurityTypes" "VncAuth"
Option "UserPasswdVerifier" "VncAuth"
Option "PasswordFile" "~/.vnc/passwd"

(en la última línea, si hemos utiilzado el segundo método para la contraseña, cambiaremos "~/.vnc/passwd" por la ruta de la contraseña, en nuestro caso "/home/ajpdsoft/.vnc/passwd"

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

A continuación estableceremos los permisos apropiados al fichero sharex11vnc para que pueda ejecutarse, para ello ejecutaremos el comando GNU Linux:

sudo chmod 755 /usr/local/bin/sharex11vnc

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

Para que el script anterior se ejecute cada vez que el usuario inicia la sesión accederemos al menú "Sistema" - "Preferencias" - "Aplicaciones al inicio":

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

En la ventana de "Preferencia de las aplicaciones al inicio" pulsaremos el botón "Añadir":

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

En la ventana de "Añadir programa al inicio" introduciremos los siguientes datos:

  • Nombre: nombre identificativo del programa de inicio, por ejemplo "VNC".
  • Orde: ruta y nombre del fichero de script ejecutable, en nuestro caso " /usr/local/bin/sharex11vnc".
  • Comentario: observación (descripción) del programa a iniciar, por ejemplo "VNC Server".

Tras introducir los datos pulsaremos "Añadir":

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

Daremos permisos al fichero de contraseñas creado anteriormente (passwd) de lectura y escritura para el usuario que inicia sesión (en nuestro caso "ajpdsoft"). En realidad es suficiente con dar permisos de lectura. Para ello utilizaremos el comando:

sudo chmod 777 /home/ajpdsoft/.vnc/passwd

Si no realizamos este paso, es posible que al intentar establecer la conexión con VNC Viewer recibamos este error:

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

Con el texto:

---------------------------
VNC Viewer : Question
---------------------------
password check failed!
Do you wish to attempt to reconnect to 192.168.1.103?
---------------------------
Sí No
---------------------------

Por último cerraremos la sesión del usuario (o si tenemos oportunidad reiniciaremos el equipo), desde el botón de Apagado, "Cerrar sesión":

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

Pulsaremos en el botón "Cerrar sesión":

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

Volveremos a iniciar la sesión con el usuario para el que hemos configurado VNC Server:

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

Tras el reinicio, podremos comprobar si el servicio x11vnc se ha iniciado correctamente, desde el menú "Sistema" - "Administració" - "Monitor del sistema":

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

En la pestaña "Procesos" de la ventana de "Monitor del sistema", deberá haber un proceso con el nombre "x11vnc":

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

 

Para probar VNC Server, descargaremos VNC Viewer en un equipo con Windows XP (o cualquier otro sistema operativo) de nuestra red. VNC Viewer es gratuito y está disponible en:

http://www.realvnc.com/cgi-bin/download.cgi?product=free4/vncviewer/win

Ejecutaremos el fichero descargado "vnc-4_1_3-x86_win32_viewer.exe", nos pedirá la IP o nombre de host (hostname) del equipo con VNC Server al que queremos conectarnos y hacer control remoto, la introduciremos en "Server" y pulsaremos "OK":

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

VNC Viewer nos mostrará la ventana de Authentication para que introduzcamos la contraseña en "Password". Introduciremos la contraseña establecida anteriormente en la configuración de VNC Server y pulsaremos "OK":

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

Y ya tendremos acceso desde un equipo con Windows a otro con GNU Linux mediante VNC Server. Podremos controlar el equipo Linux como si estuviésemos con él desde el equipo Windows:

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux

Nota: cualquier cambio que hagamos (incluso los movimientos del ratón) son mostrados en el equipo GNU Linux.

Configurar acceso a equipo VNC Server mediante HTTP (navegador)

Para configurar el equipo con GNU Linux Ubuntu 9.04 y VNC Server para permitir acceso por control remoto mediante el navegador web, en primer lugar seguiremos todos los pasos anteriores (instalación de paquetes, asignación de contraseña y demás configuraciones). Y después abriremos una ventana de terminal y ejecutaremos los siguientes comandos:

  • Por un lado abriemos el puerto 5800 en el cortafuegos de GNU Linux (iptables) con el siguiente comando:

    sudo iptables -A INPUT -p tcp -i eth0 --dport 5800 -j ACCEPT

  • Por otro lado ejecutaremos el siguiente comando que inciará el servicio de VNC Server vía http:

    sudo x11vnc -forever -usepw -httpdir /usr/share/vnc-java/ -httpport 5800

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux - Configurar acceso a equipo VNC Server mediante HTTP (navegador)

Si todo es correcto se iniciará el servicio (demonio) de VNC Server, indicando el nombre del desktop (en nuestro caso "pcubuntu:1") y el URL que hay que poner en los navegadores clientes para conectar y hacer control remoto al equipo con VNC Server (en nuestro caso "http://pcubuntu:5800"):

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux - Configurar acceso a equipo VNC Server mediante HTTP (navegador)

Desde un equipo con Windows o GNU Linux abriremos un navegador web (por ejemplo Mozilla Firefox) y escribiremos la siguiente URL:

http://192.168.1.103:5800

Donde:

  • 192.168.1.103: será la IP del equipo con GNU Linux y VNC Server instalado, al que le queramos hacer control remoto.
  • 5800: será el puerto establecido para la conexión mediante http a VNC Server.

Si todo es correcto nos mostrará una ventana con "VNC Authentication", en "Password" introduciremos la contraseña y pulsaremos "OK":

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux - Configurar acceso a equipo VNC Server mediante HTTP (navegador)

Y ya podremos controlar el equipo con GNU Linux desde nuestro equipo con Windows sin necesidad de instalar ningún software adicional (sólo con el navegador web):

AjpdSoft Instalar VNC Server en GNU Linux Ubuntu 9.04, control remoto de Windows a GNU Linux - Configurar acceso a equipo VNC Server mediante HTTP (navegador)

Anexo

Resultado de la ejecución de algunos comandos GNU Linux

sudo apt-get install x11vnc vnc-java

ajpdsoft@pcubuntu:~$ sudo apt-get install x11vnc vnc-java
[sudo] password for ajpdsoft:
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes extras:
libvncserver0
Paquetes sugeridos:
libvncserver0-dbg vncserver
Se instalarán los siguientes paquetes NUEVOS:
libvncserver0 vnc-java x11vnc
0 actualizados, 3 se instalarán, 0 para eliminar y 115 no actualizados.
Necesito descargar 997kB de archivos.
Se utilizarán 2220kB de espacio de disco adicional después de esta operación.
¿Desea continuar [S/n]? s
Des:1 http://es.archive.ubuntu.com jaunty/main libvncserver0 0.9.3.dfsg.1-1ubuntu2 [162kB]
Des:2 http://es.archive.ubuntu.com jaunty/multiverse vnc-java 3.3.3r2-7 [64,0kB]
Des:3 http://es.archive.ubuntu.com jaunty/universe x11vnc 0.9.3.dfsg.1-1ubuntu2 [771kB]
Descargados 997kB en 1s (501kB/s)
Seleccionando el paquete libvncserver0 previamente no seleccionado.
(Leyendo la base de datos ...
104267 ficheros y directorios instalados actualmente.)
Desempaquetando libvncserver0 (de .../libvncserver0_0.9.3.dfsg.1-1ubuntu2_i386.deb) ...
Seleccionando el paquete vnc-java previamente no seleccionado.
Desempaquetando vnc-java (de .../vnc-java_3.3.3r2-7_all.deb) ...
Seleccionando el paquete x11vnc previamente no seleccionado.
Desempaquetando x11vnc (de .../x11vnc_0.9.3.dfsg.1-1ubuntu2_i386.deb) ...
Procesando disparadores para man-db ...
Configurando libvncserver0 (0.9.3.dfsg.1-1ubuntu2) ...

Configurando vnc-java (3.3.3r2-7) ...

Configurando x11vnc (0.9.3.dfsg.1-1ubuntu2) ...
Procesando disparadores para libc6 ...
ldconfig deferred processing now taking place
ajpdsoft@pcubuntu:~$

sudo apt-get install vnc-common

ajpdsoft@pcubuntu:~$ sudo apt-get install vnc-common
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias      
Leyendo la información de estado... Hecho
Nota, seleccionando vnc4-common en lugar de vnc-common
Paquetes sugeridos:
  vnc4server xvnc4viewer vncviewer
Se instalarán los siguientes paquetes NUEVOS:
  vnc4-common
0 actualizados, 1 se instalarán, 0 para eliminar y 115 no actualizados.
Necesito descargar 17,2kB de archivos.
Se utilizarán 90,1kB de espacio de disco adicional después de esta operación.
Des:1 http://es.archive.ubuntu.com jaunty/universe vnc4-common 4.1.1+xorg1.0.2-0ubuntu7 [17,2kB]
Descargados 17,2kB en 0s (23,8kB/s)
Seleccionando el paquete vnc4-common previamente no seleccionado.
(Leyendo la base de datos ... 
104312 ficheros y directorios instalados actualmente.)
Desempaquetando vnc4-common (de .../vnc4-common_4.1.1+xorg1.0.2-0ubuntu7_i386.deb) ...
Procesando disparadores para man-db ...
Configurando vnc4-common (4.1.1+xorg1.0.2-0ubuntu7) ...

Algunos errores y su posible causa y solución

  • Error al conectar al equipo con VNC Server mediante VNC Viewer: password check failed! Do you wish to attempt to reconnect to IP.

Este error suele ser debido a que, o bien no se ha creado correctamente el fichero passwd. También puede ser debido a que el fichero passwd no tenga los permisos apropiados (lectura) para el usuario que inicia sesión y al cual haremos control remoto. En los pasos anteriores indicamos cómo dar permisos a este fichero para que esto no ocurra.

  • Error al conectar al equipo con VNC Server mediante VNC Viewer: unable to connect to host: Connection refused (10061)

Este error puede ser debido a dos motivos (normalmente):

  • El servicio (demonio) de x11vnc no está iniciado, puede ser debido a que no se está ejecutando correctamente el script creado anteriormente: sharex11vnc. Habrá que revisar que se ha añadido correctamente al inicio de la sesión y que tiene los permisos apropiados para que sea ejecutable (tal y como hemos indicando aquí).
  • El cortafuegos (iptables) de GNU Linux está impidiendo el acceso a través del puerto 5900 (puerto por defecto de VNC Server). En este caso hemos de añadir una regla al cortafuegos, con el comando GNU Linux:

sudo iptables -A INPUT -p tcp -i eth0 --dport 5900 -j ACCEPT

Artículos relacionados

 

Créditos

Artículo realizado íntegramente por Alonsojpd miembro fundador del proyecto AjpdSoft.


Anuncios


Enviado el Martes, 21 julio a las 19:24:40 por ajpdsoft
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A