FreeNX: Acceso remoto al escritorio Linux

NX es una tecnología para manejar conexiones remotas a X Window de forma suficientemente rápida incluso sobre un módem de 56K. Para ello utiliza compresión de datos y mecanismos de caché, que le proporcionan un rendimiento netamente superior al de otras soluciones de este tipo como VNC. También emplea SSH para cifrar la conexión entre servidor y cliente. Además de permitir a los usuarios loguearse en una máquina remota accediendo al escritorio, permite también suspender y recuperar sesiones. NX es un producto de la empresa NoMachine, que dispone de licencia GPL sobre la propia tecnología NX, existiendo múltiples implementaciones, tanto comerciales como gratuitas, y tanto libres como propietarias, de servidores y clientes.

Es necesario destacar que la mayoría de la información disponible en la Red sobre NX, tanto en español como en inglés, está en general totalmente desfasada, lo que obliga a una importante labor de rastreo a fin de localizar un repositorio adecuado de los paquetes necesarios en Debian. Por idéntica razón, es de prever que este mismo tutorial pierda vigencia sin tardar, pero ahora mismo permite instalar el servidor FreeNX en una máquina Debian (Lenny) de una forma absolutamente simple. Después, instalaremos el software cliente de NoMachine en una máquina remota con Windows XP SP2 a fin de acceder al escritorio de Debian...

Diferenciaremos por tanto la instalación en el lado servidor y en el lado cliente.

 

SERVIDOR

 

1. Instalación

Instalaremos el servidor FreeNX en una máquina corriendo Debian (Lenny), aunque creo poder afirmar que funcionaría exactamente igual en Debian Etch. De hecho los paquetes que utilizaremos están diseñados para Etch, representando este tutorial la primera y única confirmación que yo haya podido encontrar de que también funcionan perfectamente en Lenny.

El punto fundamental radica en añadir la siguiente línea a /etc/apt/sources.list:

deb http://krnl.nl/freenx/ ./

Operación que seguiremos del imprescindible:

# apt-get update

Los repositorios de FreeNX se muestran especialmente volátiles y desactualizados, por lo que es posible que éste tampoco dure demasiado.

La instalación y puesta en marcha de SSH representa el principal requisito previo. Por tanto, si no está instalado, es el momento de escribir:

# apt-get install ssh

Y, por supuesto también:

# apt-get install freenx

A mitad de esta instalación nos saltará la siguiente pantalla:

 

 

A los efectos de este tutorial seleccionaremos "NoMachine key", por ser la opción recomendada para facilitar la configuración, aunque para entornos de producción donde la seguridad es importante resulta mucho más recomendable utilizar "Custom Keys" (que nos obliga a copiar las claves a la máquina cliente), o al menos cambiar el puerto de escucha por defecto de SSH e incluso impedir el acceso remoto a root, es decir, las medidas habituales de protección frente a los ataques habituales contra este servicio.

 

2. Configuración

Una vez completada la instalación, procedemos a configurar nuestro flamante servidor NX.

Comenzamos por editar /etc/nxserver/node.conf para añadir al final la siguiente línea (ojo: en una sola línea):

APPLICATION_LIBRARY_PRELOAD=/usr/lib/libX11-nx.so.6.2:/usr/lib/libXext-nx.so.6.4:
/usr/lib/libXcomp.so.2:/usr/lib/libXcompext.so.2:/usr/lib/libXrender-nx.so.1.2

Tecleamos ahora:

# nxsetup

Resultando:

------> You did select no action.
        FreeNX guesses that you want to _install_ the server.
        Type "y" to abort the installation at this point in time.
        "N" is the default and continues installation.
        Use "/usr/sbin/nxsetup --help" to get more detailed help hints.

 Do you want to abort now? [y/N] N

------> It is recommended that you use the NoMachine key for
        easier setup. If you answer "y", FreeNX creates a custom
        KeyPair and expects you to setup your clients manually. 
        "N" is default and uses the NoMachine key for installation.

 Do you want to use your own custom KeyPair? [y/N] N
Setting up /etc/nxserver ...done
Setting up /var/lib/nxserver/db ...done
Setting up /var/log/nxserver.log ...done
Setting up known_hosts and authorized_keys2 ...done
Setting up permissions ...done

----> Testing your nxserver configuration ...
Warning: Could not find nxdesktop in /usr/lib/nx. RDP sessions won't work.
Warning: Could not find nxviewer in /usr/lib/nx. VNC sessions won't work.
Warning: Invalid value "DEFAULT_X_SESSION=/etc/X11/xdm/Xsession"
         Users might not be able to request a default X session.
Warning: Invalid value "COMMAND_START_KDE=startkde"
         Users will not be able to request a KDE session.
Warning: Invalid value "COMMAND_START_CDE=cdwm"
         Users will not be able to request a CDE session.
Warning: Invalid value "COMMAND_SMBMOUNT=smbmount". You'll not be able to use SAMBA. 
Warning: Invalid value "COMMAND_SMBUMOUNT=smbumount". You'll not be able to use SAMBA.

  Warnings occured during config check.
  To enable these features please correct the configuration file.

<---- done

----> Testing your nxserver connection ...
HELLO NXSERVER - Version 1.5.0-60 OS (GPL)
NX> 105 quit
Quit
NX> 999 Bye
<--- done

Ok, nxserver is ready.

PAM authentication enabled:
  All users will be able to login with their normal passwords.

  PAM authentication will be done through SSH.
  Please ensure that SSHD on localhost accepts password authentication.

  You can change this behaviour in the /etc/nxserver/node.conf file.
Have Fun!

Podemos comprobar que el servidor está en efecto funcionando:

# nxserver --status
NX> 100 NXSERVER - Version 1.5.0-60 OS (GPL)
NX> 110 NX Server is running
NX> 999 Bye

 

CLIENTE

 

1. Instalación

Descargamos NX Client for Windows y procedemos a su instalación:

http://www.nomachine.com/download.php

 

 

 

2. Configuración

 

 

 

 

 

 

 

FUNCIONAMIENTO

 

Arrancamos NX Client y se nos solicita el nombre de usuario y password que configuramos antes, al crear nuestra sesión "debian":

 

 

 

 

Ya estamos dentro de Debian, desde nuestra máquina remota Windows XP, pudiendo trabajar exactamente igual que si estuviéramos sentados ante la máquina:

 

 

Comentarios

Selecciona arriba tu forma preferida de visualizar
los comentarios y pulsa el botón para guardar tus
preferencias. Éstas sólo se recordarán para tus
próximas visitas si eres usuario registrado.

NX

Estupenda utilidad. En la facultad hacen uso de ella para permitirnos el acceso a las cuentas de usuario desde casa. Funciona genial. Comentar que el plugin de NX en java funciona a las mil maravillas sobre firefox.

El plugin

informacion desfasada?

No entiendo este comentario "Es necesario destacar que la mayoría de la información disponible en la Red sobre NX, tanto en español como en inglés, está totalmente desfasada, lo que obliga a una importante labor de rastreo a fin de localizar un repositorio adecuado de los paquetes necesarios", pues en nomachine tienen versiones en rpm deb, y para el caso de ubuntu recomiendan hasta la 7.10. ¿donde esta el problema?. Habrá que leer mejor? ;-)

Fácil

Se trata de versiones gratuitas pero no libres. Disponemos incluso de la posibilidad de compilar una versión GPL desde el código fuente (que he evitado por simplificar), pero lo difícil es encontrar un repositorio decente de la versión GPL del servidor, de modo que todos los tutoriales que he visto dan instrucciones obsoletas y apuntan a sitios que ya no existen.

Por tanto para entender mis comentarios bastaría que te informaras antes y te leyeras la lista de correo de FreeNX, como he tenido que hacer yo.

Ya ves que leer, leo ;)

que paso admin

que paso admin, que hace algun tiempo que veo que estas haciendo cosas sobre Debian Lenny.. dejaste Arch?

Me gustan las cosas simples, por eso uso Arch!
Linux User #404818

En efecto

Aunque creo que eso ya lo habíamos hablado por aquí.

Pues sí: he vuelto a mi época "promiscua", picando un poco de aquí y de allá.

En estas semanas ya he pasado por OpenSuse, Ubuntu y Debian. Un reciclaje que me ha venido muy bien, aunque me temo que Debian ha conquistado otra vez mi corazón ;)

Primero decir que excelente

Primero decir que excelente review, estuve probandolo en mi maquina y tira genial (Gentoo Linx) están en el propio repositorio, a si que solo hacer emerge ^^

En segundo lugar, has probado Gentoo? No se si es que soy demasiado exigente o no pero al final es la unica distro con la que me siento a gusto, poder tener el control de todo, al detalle, y lo mas actualizado (si usas arquitectura ~x86 ~amd64... tambien tengo otro pc con arquitectura estable x86 amd64)...

Saludos.

Soy demasiado vago

Con tal de no trabajar tanto, soy capaz de renunciar al control total ;)

Hablando de Gentoo

Instalarlo es mucho más fácil:

emerge nxserver-freenx nxclient

Una pequeña correcion

Excelente tutorial, una alternativa mas al VNC de toda la vida, por cierto, en el archivo a editar:
/etc/nxserver/nodeconf hay un pequeño error en la direccion, es node.conf, al menos en mi Ubuntu Feisty.

Opinar

Los comentarios publicados en este sitio expresan sólo la opinión de su autor, quien será el único responsable de los mismos. La publicación de cualquier comentario no supone en absoluto la conformidad del responsable de este sitio con su contenido.

Como norma general, en este sitio no se publican comentarios que incluyan datos personales, ni direcciones de correo, ni ninguna otra forma de establecer contactos privados o comerciales, así como comentarios que no aportan nada, fuera de tema o que no se ajustan a la netiqueta, la ortografía o la educación.

Para poder enviar tus comentarios has de permitir las cookies del sitio.

Por favor, escribe arriba el resultado de la operación planteada. Gracias.
  • Etiquetas HTML permitidas: <a> <em> <strong> <ul> <ol> <li> <p> <u> <br><strike> <blockquote> <div>

Más información sobre las opciones de formato...