Web site Linuxmy - Tecnología NX
 

Home
Historia de la comput
Surgimiento de Linux
Desarrollo de Linux
intall códigos abiertos
Distribusiones Linux
Zona de Descarga
configurar SSH
Emulador
Intalar Linux
Comandos en Linux
Núcleo portable
Equival de XP y Linux
Mandriva
Fedora
Arch Linux
Ubuntu
Linux Mint
sources.list
Xandros
Compiz
Debian
Pacman (Arch Linux)
PCLinuxOS
Scientific Linux
MCC Interim Linux
Repositorio
Gestión de paquetes
Guadalinex
Tecnología NX
gNewSense
Cinelerra
Scilab
Ubuntu Studio
sidux
VNC

Tecnología NX

NX es un programa informático que realiza conexiones remotas X11 muy rápidas, lo que permite a los usuarios acceder a escritorios remotos de Linux o Unix incluso bajo conexiones lentas como las realizadas con modem.

NX realiza una compresión directa del protocolo X11, lo que permite una mayor eficiencia que VNC. La información se envía mediante SSH, por lo que toda la información que se intercambian servidor y cliente está cifrada.

Al cliente que se conecta al servidor NX se le considera cliente liviano.

NX está desarrollado por la empresa italiana NoMachine, que ha liberado el código. Existe una implementación libre de esta aplicación, llamada FreeNX.

Conceptos básicos

Cuando un cliente necesita dibujar algo en pantalla realiza una cantidad de peticiones al servidor, muchas de las cuales necesitan una respuesta. Cada par petición-respuesta se conoce como roundtrip. Estos roundtrips son los que hacen al sistema más lento debido principalmente al tiempo que se necesita para completar el ida y vuelta. Cuando el cliente y el servidor X son ejecutados en el mismo host la comunicación se realiza de forma muy rápida. Sin embargo cuando cliente y servidor ejecutan en diferentes hosts la comunicación debe realizarse a través de TCP/IP por lo que en este caso la comunicación es mucho más lenta. Otro factor que puede afectar el desempeño es la velocidad de la conexión y latencia de la red.


Eficiencia de NX

La tecnología NX ofrece mayor eficiencia que otras debido principalmente a las características que se listan a continuación:

 

  • Realiza una eficiente compresión del tráfico X.
La compresión del tráfico en forma eficiente es necesaria para lograr ejecutar aplicaciones sobre medios de poco ancho de banda y también para permitir ejecutar múltiples sesiones de usuario en redes LAN.
  • Utiliza mecanismos de cache para almacenar y reusar la información transferida entre cliente y servidor.
NX utiliza un método de cache innovador que divide el mensaje X en dos partes, uno de identificación y otro de datos. La tecnología mantiene en cache únicamente los datos de los últimos mensajes enviados, clasificados por protocolo. A este cache se le conoce como MessageStore y hace que el número de peticiones para mostrar los elementos de pantalla disminuya notoriamente.
  • El tiempo consumido en realizar roundtrips es prácticamente nulo.
La reducción de roundtrips es fundamental, al igual que el estricto control del flujo de datos que viaja por la red.
  • Utiliza un algoritmo de codificación perezoso para realizar actualizaciones de pantalla.
NX posee mecanismos de adaptación para ajustarse a las propiedades de la red (latencia y velocidad de conexión), lo que permite pasar de métodos estrictos de codificación a métodos perezosos que retrasan la actualización de pantalla cuando la red está congestionada.


Objetivos de NX

El principal objetivo de esta tecnología es el de ejecutar a travás de Internet aplicaciones que logren tener el mismo aspecto gráfico que cuando se ejecutan en cualquier PC. Generalmente cuando esto ocurre es necesario deshabilitar todo aquello que pueda consumir demasiados recursos, como por ejemplo, menús desplegables, fondos de pantalla, iconos o animaciones gráficas. NX fue diseñado especialmente para soportar estas condiciones y no hacer que usuarios y desarrolladores deban cambiar sus hábitos o su código.


Instalación y configuración de FreeNX

Para poder utilizar esta tecnología se debe instalar un servidor NX y un cliente. El servidor será FreeNX y el cliente se elegirá de NoMachine. El ejemplo a continuación realiza la instalación en Linux para la distribución de Ubuntu.


Instalación del servidor (mediante utilización de paquetes)


Paso 1.

Lo primero es agregar a la lista de repositorios el repositorio correspondiente para instalar NX. Para esto se debe editar el archivo /etc/apt/sources.list y agregar
deb http://mirror.ubuntulinux.nl/ dapper-seveas custom extras freenx java seveas-meta all a la lista.
Según la versión de Ubuntu (distribución Linux) de que se trate (Dapper, Edgy, Feisty) dependerá el repositorio que deba agregar. Para hacerlo correctamente verifique la versión que se tiene instalada y sustituya en el comando anterior el nombre de la versión que corresponda.
Si no conoce la versión que tiene instalada ejecute el comando lsb_release -a por consola y bajo la etiqueta codename encontrará la versión.


Paso 2.

Ejecutar el comando apt-get update para actualizar la lista de paquetes.
Esta operación pude demorar unos segundos.


Paso 3.

Debido a que NX utiliza SSH es necesario instalar claves de autenticación.
Ejecutar en consola los comandos:
$ sudo gpg --keyserver subkeys.pgp.net --recv-keys 1135D466
$ sudo gpg --export --armor 1135D466 | sudo apt-key add -
Al hacerlo se consultará que tipo de clave se quiere utilizar, brindando dos opciones posibles, las claves de NoMachine, las propias o borrar las claves existentes. Para el ejemplo es aconsejable utilizar las de NoMachine.
Finalizada la instalación puede modificarse esta configuración ejecutando uno de los siguientes comandos según la opción que se prefiera.
$ sudo nxsetup --install --setup-nomachine-key --clean --purge - claves de NoMachine
$ sudo nxsetup --install --clean - claves propias


Paso 4.

Instalar el paquete freenx, ejecutando en consola el comando apt-get install freenx.
Durante este proceso se avisa al usuario que es necesario instalar otros paquetes. Aceptar esta instalación y seguir adelante.
Los paquetes para utilizar NX son: freenx, libxcomp, libxcompext, nxagent, nxdesktop, nxlibs , nxproxy y nxviewer.
Si por algún motivo se quisiera detener el servicio instalado se debe ejecutar el comando nxserver –stop, para iniciarlo nuevamente ejecutar nxserver –start.


Paso 5.

Comprobar que se tenga el demonio sshd escuchando en el puerto 22 y las claves públicas activadas.
Para esto comprobar que en el archivo /etc/ssh/sshd_config se encuentren las líneas
Port 22
PubkeyAuthentication yes
Se puede configurar el demonio para escuchar en otro puerto. Si este fuera el caso se debe editar el archivo /etc/nxserver/node.conf y modificar la línea #SSHD_PORT=1234, donde 1234 es el nuevo puerto.


Paso 6.

Si se tiene un firewall instalado es necesario abrir el puerto utilizado para ssh y el 5000 que también utiliza NX.


Instalación del cliente


Paso 1.

Se utilizará el cliente NX de NoMachine para Linux, el cual se puede descargar de aqui.
Se debe seleccionar la versión según la distribución de Linux que se utilice.
Para instalar ejecutar el comando sudo dpkg -i nxclient_3.0.0-84_i386.deb (el número de versión del paquete seguramente varíe).
Una vez instalado se podrá acceder a la aplicación desde el menú Aplicaciones/Internet/NX Client for Linux/NX Client for Linux. Si esta opción no aparece en el menú instalar nuevamente el paquete (es común que suceda).


Paso 2.

Testear que el cliente funcione correctamente.
De la página de NoMachine utilizar NX Builder para conectarse al servidor con el cual se quiere establecer la conexión. Para hacerlo se debe indicar resolución, velocidad de conexión y desktop o aplicación a la que se quiere acceder. Al hacer esto se descarga un archivo de configuración que permitirá realizar la conexión.
Para conectarse al servidor existen dos opciones:
  1. Utilizar el archivo de configuración.
  2. Ejecutar directamente el cliente NX.

 

La ventaja de utilizar el archivo de configuración es que no deben indicarse los parámetros de conexión ya que estos se leen del archivo; al ejecutar directamente el cliente NX los parámetros deben ingresarse manualmente.
Ejemplo - ejecutar el comando /usr/NX/bin/nxclient GNOME@151.1.143.116.nxs
Donde /usr/NX/bin/nxclient es la ruta por defecto donde se instala el cliente NX y GNOME@151.1.143.116.nxs es el nombre del archivo de configuración que corresponde a haber elegido un servidor con resolución de 800x600, velocidad de conexión de MODEM y GNOME.
La primera vez que se establece la conexión con el servidor, debido a que esta se realiza por SSH, se emite un mensaje alertando que la clave pública de éste no se encuentra dentro del conjunto de servidores conocidos. De continuar, la clave del servidor se agrega a la lista de servidores conocidos que se encuentra en el archivo /.ssh/known_hosts dentro del home de cada usuario.


Enlaces externos

  • NoMachine sitio oficial. Ofrece un cliente y un servidor comercial.
  • Alexrfr pequeño manual de usuario, en el que se indica como configurar un servidor y los clientes para conectarse mediante la tecnología NX.
Hoy habia 18 visitantes (23 clics a subpáginas) ¡Aqui en esta página!
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis