CONCEPTOS DEL SISTEMA X PARA UNIX/LINUX
X-WINDOW: Interfaces Gráficas de Usuario para UNIX
Los ambientes gráficos de ventanas o Interfaces Gáficas de Usuario (GUI) existentes para UNIX se basan en el Sistema gráfico X (X-WINDOW) desarrollado en el MIT.
El Sistema X básico contiene una Biblioteca de definiciones de Tipos de Datos, Constantes, Variables y Funciones (xlib) para presentar en pantalla (display) en forma gráfica y un protocolo de presentación bajo esquema de funcionamiento en modo Cliente/Servidor. Para el Sistema X un Cliente es una sesión de trabajo de un usuario registrado en una máquina donde se ejecuta una aplicación X -una que utiliza el Sistema X de presentación- y un Servidor es una máquina donde esté instalado y activo el servicio de presentación del Protocolo X. Desde un terminal X -que puede ser: una ventana, un emulador de X en un equipo sin UNIX o un terminal real tipo X- se ordena la ejecución de la aplicación X en el Cliente pero el despliegue o presentación gráfica se realiza en la pantalla del Servidor local. La generalidad en el diseño del Sistema X permite el caso particular de que el Cliente y el Servidor sean una sola máquina -en cuyo caso la aplicación X se ejecuta en la máquina y la presentación se efectúa en una pantalla de la misma máquina. Para que el Cliente y el Servidor puedan ser máquinas diferentes y distantes, es necesario que ambas estén integradas en Red para que puedan comunicarse: el servidor le envía al Cliente la codificación de las acciones del usuario y el Cliente responde enviando la información a desplegar. Por ejemplo, el sistema de aplicaciones estadísticas SAS que está instalado en el Servidor IBM SP2 en CecalcULA, puede ordenarse que se corra desde uno de los equipos PC del lea operando bajo LINUX. El SAS procesa en la SP2 pero muestra sus ventanas en el equipo PC. Bajo WINDOWS también se puede hacer lo mismo si se tiene instalado un sistema de Emulación de X como el SolarNET PC-X de Sun Microsystems -la ULA posee licencia- o el eXceed.
Existen diferentes sistemas para programar aplicaciones que respondan a acciones del usuario desde un terminal -uso de teclado, ratón- basadas en la utilización y extensión de los recursos de X, como son Xview o Motif. Estos sistemas agregan Bibliotecas más especializadas al Sistema X y a su vez ellas se usan para desarrollar ambientes GUI para Servidores de X.
Como en UNIX muchos comandos son en realidad llamadas a programas, el Sistema X contiene también un conjunto de programas utilitarios para realizar tareas necesarias de configuración y servicios especiales, los cuales se agregan al repertorio de comandos disponible en UNIX cuando las Bibliotecas de X están instaladas.
EJECUCION REMOTA DE APLICACIONES X
El Protocolo X require que cada Servidor X sepa en cuáles máquinas pueden abrirse sesiones Clientes y a su vez cada Cliente X -sesión de trabajo de un usuario registrado- requiere saber hacia cual Servidor X enviar sus presentaciones. Esto está predefinido cuando el Cliente y el Servidor son la misma máquina.
Para que un usuario pueda ordenar la ejecución de una aplicación X desde un Servidor X tiene que primero informarle en cual máquina remota se va abrir la sesión Cliente, que será la máquina Cliente. Esto se hace con el comando:
xhost <nombre Internet o dirección IP de la máquina Cliente>
Después debe abrir una sesión de trabajo en la máquina Cliente. Esto se hace con el comando:
telnet <nombre Internet o dirección IP de la máquina Cliente>
o con el comando:
rlogin -l <nombre cuenta en máquina Cliente> <nombre Internet o dirección IP de la máquina Cliente>
Mejor usar rlogin en las máquinas con LINUX y ambiente Fvwm95.
Una vez completado el Proceso de Login en la máquina a la que se ha conectado, informarle a la sesión abierta cual va a ser su Servidor X. Esto se hace con el comando de configuracion de ambiente de UNIX:
setenv DISPLAY <nombre Internet o dirección IP de la máquina Servidor>:0.0
Desde el terminal abierto con la sesión en la máquina Cliente se pueden mandar a ejecutar aplicaciones X cuyas ventanas aparecerán en la máquina en la que se trabaja, o sea, el Servidor de X.
Por supuesto, si el Cliente y el Servidor son la misma máquina no hay que hace nada de esto, sólo escribir el comando con el nombre de la aplicación X local. Conviene si no se quiere que la ventana se quede inactiva hasta que termine la aplicación X, colocar después del comando el símbolo &, A MENOS, que la aplicación reciba algún tipo de dato por teclado en modo caracter.