martes, 23 de febrero de 2010

Accediendo a mi Linux desde mi iPhone

Una de las ventajas de usar Linux es que, como cualquier *nix, usa X-Window-System, una interfaz gráfica estandar diseñada para trabajar en red desde su origen.

El estandar de XWindowS, como se abrevia, está definido por el X-Consortium, un grupo de empresas, universidades y organizaciones, sin fines de lucro, destinado a desarrollar, mantener, publicar y mejorar el estandar.

Una caracterísitca importante de XWindowS es que funciona según un esquema Cliente-Servidor.
La terminal gráfica virtual en si es la que presta los servicios gráficos, y se denomina X-Server, mientras que los programas que corren bajo XwindowS son los que usan esos servicios y se llaman X-Clients.

En una red, el X-Server corre en la computadora del usuario, una workstation, mientras que los xclients están generalmente corriendo en algun servidor de la red.

En el caso de una PC hogareña, el X-Server y los X-Clients corren en la misma computadora, usando la red virtual 127.0.0.0.

Una de las ventajas de que sea estandar, es que, en principio, cualquiera puede programar un X-Server capaz de ejecutar X-Clients de la red, lo que permite que la salida de los X-Clients sea portable a practicamente cualquier SO y/o dispositivo que esté corriendo un X-Server.

Por otro lado, dado que absolutamente todo programa que controla gráficos por un X-Server es un X-Client, incluyendo los administradores de ventanas o escritorio, se pueden usar escritorios completos de una PC en red desde el dispositivo que corra un X-Server.

Para especificar a los X-Clients donde deben enviar sus gráficos y de donde deben tomar los eventos de teclado, mouse, etc.., el estandar define una variable llamada "display" que es pasada a los X-Clients a través de archivos de configuración o a través de la linea de comando.

Esta variable define un X-Server específico por el IP del dispositivo o computadora donde se está ejecutando. A cada X-Server le corresponde un único Display, pero a su vez, cada Display puede estar asociado a varias pantallas distintas llamadas "screen".

Por ejemplo, si se quiere ejecutar el programa "xclock" en un display ubicado en la PC de IP 10.0.1.2, el comando sería:

xclock -display 10.0.1.2:0

donde ":0" especifica que es el screen 0. En un PC con un único monitor, generalmente el screen es 0.

Antes debe por supuesto, dotar de los privilegios al usuario en la máquina que tiene los X-clients para que pueda entrar y ejecutarlos, y debe declararse el IP del xserver en el archivo /etc/xhosts del linux o *nix. Esto evita que cualquiera pueda colarse en la PC y ejecutar un programa de interfaz gráfica en forma remota.

En este video particular, se pretende mostrar como usar este diseño de XwindowS para ejecutar programas de mi Linux desde un iPhone, usando un servidor-X desarrolado por Zinger-Soft, llamado iX11, el cual está basado en el servidor X11R7.3 de X.Org.

No hay comentarios:

Publicar un comentario