Administración gráfica remota con FreeNX

FreeNX es una nueva aplicación cliente/servidor que permite acceder al escritorio GNU/Linux de forma remota al estilo de VNC pero con un método muchísimo más eficiente. VNC traspasa imagenes comprimidas del escritorio remoto, sin embargo FreeNX baja un nivel más y comprime directamente el protocolo de las X, de esta forma se consigue un rendimiento espectacular.

El programa ha sido desarrollado por la empresa NoMachine y ha sido liberado bajo la licencia GPL.

Lo he probado en diversos escenarios y en todos me ha sorprendido:

  1. Servidor GNU/Linux en LAN a 100 Mbps: Es posible trabajar con la máquina remota con total comodidad
  2. Servidor GNU/Linux en ADSL 512Kbps/128Kbps: El rendimiento es inferior al anterior pero se sigue podiendo trabajar comodamente, supera con creces VNC.

Se debe tener en cuenta que FreeNX trabaja utilizando el servicio SSH y por tanto toda la identificación y la comunicación es encriptada, con VNC no lo tenemos de forma nativa y hay que hacer túneles SSH lo que hace inusable el acceso en redes lentas como Internet.

El único posible inconveniente de FreeNX es que no permite acceder al escritorio actual del usuario que este trabajando fisicamente con el servidor (con VNC se puede conseguir usando gemsvnc, x11vnc o vino), pero como ventajas podemos acceder al escritorio de cualquier usuario y suspender la aplicación de forma que en una siguiente conexión recuperemos el estado del escritorio tal y como lo dejamos.

En definitiva estoy encantado con el programa dado que con mi conexión ADSL solo tengo 128 Kbps de subida y el servidor VNC no era muy usable, sin embargo con FreeNX puedo acceder remotamente a mi escritorio (incluso a pantalla completa) sin problemas y con poco retardo.

Para instalar en Ubuntu:

  1. Añadir a “/etc/apt/sources.list”:
    deb http://www.kalyxo.org/debian/ experimental main
    
  2. Actualizar el listado de aplicaciones: “aptitude update”
  3. Es importante disponer ya de un servidor SSH activo, en Ubuntu se instala con “aptitude install openssh-server” y se guardan los archivos de configuración en “/etc/sshd/”. La configuración por defecto suele funcionar y automáticamente en la instalación se activará el servidor. Para probar su funcionamiento podemos usar “ssh usuario@localhost” o “ssh usuario@ip_maquina” si lo hacemos remotamente. Es importante que el firewall (en caso de disponer de uno) del servidor tenga abierto el puerto 22 para poder establecer conexiones SSH y en consecuencia, FreeNX.
  4. Instalar el servidor “aptitude install freenx” y el cliente “aptitude install nxclient” en diferentes máquinas (existen clientes para MS Windows en la página de NoMachine)
  5. Comentar la línea que añadimos a “/etc/apt/sources.list”, es importante no hacer una actualización del sistema (aptitude dist-upgrade/upgrade) con este repositorio activado ya que se nos instalarán programas que no corresponden a Ubuntu. Este repositorio solo lo usamos para instalar FreeNX, nada más.
  6. Actualizar de nuevo el listado de aplicaciones con “aptitude update”
  7. Configurar el servidor, tenemos 2 opciones:
    1. Utilizar la clave SSH por defecto de NX, con esto no tendremos que facilitar ninguna clave a nuestros clientes (aunque seguirá siendo necesario el login/password), esta opción es menos segura ya que estamos permitiendo a cualquiera poder conectarse al servidor NX aunque después se encontrará con la barrera del login/password, sin embargo resulta más sencillo de configurar el acceso de los clientes. Para usar esta vía: “nxsetup –setup-nomachine-key”.
    2. Generar una clave SSH nueva, esta tendrá que ser repartida a todos los clientes que deseen conectarse. Para usar esta vía: “nxsetup”. La clave se guarda en el directorio del usuario “nx”, en Ubuntu será en “/home/.nx/.ssh/”, debemos copiarla (“client.id_dsa.key”) a “/usr/NX/share” (o el directorio donde hayamos instalado en MS Windows) de todos los clientes (si ya existe una, reemplazarla o renombrarla).
  8. A partir de ahora el servicio NX se activará automaticamente en cada arranque, para pararlo se usa “nxserver –stop” y para volverlo a poner en marcha “nxserver –start”.

Para acceder con el cliente:

  1. Ejecutamos “nxclient” o “nxclient –wizard”. Pulsamos Next.
  2. Le damos un nombre a la sesión, indicamos la máquina a la que queremos conectarnos y el tipo de conexión que tenemos (ADSL, LAN…). Pulsamos Next.
  3. Seleccionamos que la conexión será a un UNIX con GNOME y especificamos la resolución con la que queremos que arranque, por ejemplo 1024×768. Activamos la encriptación SSL, así solo es necario que tengamos acceso al puerto 22 de la máquina remota. Pulsamos Next.
  4. Dejamos marcado la creación de un icono en el escritorio y pulsamos Finish.
  5. Ahora ya podemos conectarnos a la máquina remota indicando nuestro login y password

4 thoughts on “Administración gráfica remota con FreeNX”

  1. Hola , he intentado seguir tu How To pero me da un problema y es que cuando inserto “deb http://www.kalyxo.org/debian/ experimental main” y hago un aptitude update me casca , he probado con otras pero el problema es que la web de kalyxo.org parece que ha dejado de funcionar.

    ¿Tienes alguna solución?
    ?

Leave a Reply

Your email address will not be published. Required fields are marked *