PDA

Ver la versión completa : FreeNX: Acceso remoto al escritorio Linux



LUK
24-04-2008, 09:53
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.


http://img301.imageshack.us/img301/676/freenx003049e0ch3.jpg

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:


http://img212.imageshack.us/img212/4592/freenx0131f984ar7.jpg

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


http://img524.imageshack.us/img524/1964/nxwin013398ecbs7.jpg


2. Configuración


http://img214.imageshack.us/img214/8562/nxwin0234090bbe2.jpg

http://img165.imageshack.us/img165/318/nxwin0334788erf9.jpg

http://img212.imageshack.us/img212/9038/nxwin043503a7ds5.jpg


FUNCIONAMIENTO

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


http://img182.imageshack.us/img182/543/nxwin053575e9oe9.jpg

http://img520.imageshack.us/img520/2531/nxwin0635d918no6.jpg

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:


http://img214.imageshack.us/img214/1575/nxwin0736265dgp8.jpg


Fuente: Kriptopolis (http://www.kriptopolis.org/freenx-acceso-remoto-escritorio-linux)

foxwar
24-04-2008, 17:00
Y si quiero hacerlo alreves? es decir, desde linux acceder al escritorio de windows. Supongo que la respuesta para esta pregunta es casi como pedir otro tutorial. Bueno yo me pondre a buscar un poco haber que dicen.

Saludos!

j8k6f4v9j
24-04-2008, 17:05
Hemos de tener en cuenta que todo esto se puede hacer por cuenta propia, son sesiones X y ssh. Está bien que venga todo tan masticadito. Si son suficientemente fiables, posiblemente veamos este software entre los repositorios oficiales de alguna distribución( si es que no lo está ya)

Salu2



http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad:

Ktorce
24-04-2008, 18:09
Lo llevo usando ya desde hace un año, y la verdad es impresionante la velocidad con la que se mueve, ya que no muestra las imagenes tal y como se ven (a diferencia de VNC, sino que hace una compresion en la que tienes que seleccionar el escritorio que estas usando GNOME o KDE).

Hay que destacar que con esto lo que haces es abrir una nueva sesion, osea, en el monitor de tu pc no se ve como se mueve el puntero del rato ( tal y como hace VNC)


Foxwar, para hacerlo al reves, tienes grdesktop, que si tienes configurado el escritorio remoto en el sistema windows, hace lo mismo que el mstsc

La unica pega que le veo a esto, es que el cliente, aunque es gratuito, no es de codigo abierto.

Un saludo

PD: Ultimamente os tengo un poco abandonados, para compensar subire luego la unica version del cliente de nomachine "portable" para windows que he encontrado(no necesita instalacion, que requiere derechos de administrador), que me costo sudor y lagrimas encontrar. Lo malo, que es la version 1.5.0. Si alguno encontrais una version portable mas moderna... avisad!

vitaepe
12-06-2008, 23:59
Y si quiero hacerlo alreves? es decir, desde linux acceder al escritorio de windows. Supongo que la respuesta para esta pregunta es casi como pedir otro tutorial. Bueno yo me pondre a buscar un poco haber que dicen.

Saludos!

Leyendo un poco me encontre con vncviewer, aunque es reciente mi conocimiento, y los muchos manuales que ahi en san google que me ayudaron mucho,se hace muy facil observar los ordenadores con el vnc, incluso puede manejar aplicaciones, en mi caso me funciona perfectamente en la cabina en la que trabajo.;)

j8k6f4v9j
13-06-2008, 09:15
vitaepe,

estoy seguro de que Ktorce conoce el VNC. Clientes de VNC para linux hay muchos, no sólo vncviewer, aunque probablemente sea el más usado.

Cuando Ktorce dice "hacerlo al revés" se refiere a usar los mismos servicios, con el mismo nivel de seguridad y probablemente incluso con una interfaz gráfica de las mismas características. Fíjate en la última imagen del post de la herramienta:
http://img520.imageshack.us/img520/2531/nxwin0635d918no6.jpg
Ésa es la huella del certificado de seguridad RSA. O sea, que toda la comunicación va cifrada. Algo que no es posible con un servidor de VNC simple.

Salu2



http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad:

Ktorce
13-06-2008, 11:09
Lo de hacerlo al revés, me referia a la pregunta de foxwar de ver un escritorio Windows en un linux ( con grDesktop te conectas al escritorio remoto de windows).

VNC es mas lento por que lo que hace es enviar toda la imagen (comprimida) de lo que se ve en el escritorio, en cambio FreeNX, no envia las imagenes, sino que debe enviar ( hablo por hablar, creo que lo hace así, sino, corregidme), datos tipo : Ventana (posicion, tamaño), y es el cliente el que dibuja la pantalla en base a los datos transmitidos, por lo que requiere mucho menos ancho de banda (recordemos que en la conexiones caseras, la velocidad de subida es muy limitada)

Un saludo

j8k6f4v9j
13-06-2008, 11:28
sino que debe enviar ( hablo por hablar, creo que lo hace así, sino, corregidme), datos tipo : Ventana (posicion, tamaño), y es el cliente el que dibuja la pantalla en base a los datos transmitidos

Para eso tienes que configurar un servidor de X bajo WłNDOWS. Con cygwin.

Salu2



http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad: