esen
xserver

Curso de Linux 12/60 – Xwindows y Entorno Gráfico

En nuestra clase numero 12 del curso de Linux vamos a ver el funcionamiento del Xwindows que proporciona la base para el entorno gráfico y los escritorios de nuestro sistema operativo Linux.

El entorno gráfico que puedes disfrutar en Linux tiene una base en un protocolo de terminales gráficas de red llamada Xwindows, el Xwindows fué creado entre el año 83 a 84 como el proyecto Athena, luego fue evolucionando porque lo que se quería era tener lo mismo que se tiene como las terminales de texto, la Shell que se puede obtener o que se puede visualizar por medio de una terminal remota como por telnet o como por ssh, o por la misma salida del monitor o conexión serial, se quería tener pero en gráfica, es decir mientras que un cliente ligero visualiza las aplicaciones como el navegador web o el procesador de texto, toda la carga y las aplicaciones están corriendo del lado del servidor.

El protocolo Xwindows provee esa facilidad para cualquier sistema operativo, el sistema Xwindows se maneja en un esquema cliente-servidor pero de forma inversa, ¿Porque de forma inversa? normalmente el esquema cliente-servidor se basa en un cliente que es parte del programa, que es una parte visual con la cual interactúa el usuario, ingresa y consulta y recibe datos. Por ejemplo muchos vídeo juegos online son cliente-servidor porque ellos simplemente tienen un cliente donde esta toda la estructura del juego y se conectan a un servidor que simplemente le envía datos y guarda los datos de lo que se esta haciendo, el sistema xwindows funciona de la misma forma pero a la inversa. ¿Porque? Porque en tu ordenador, el software de Xwindows corre como servidor, de hecho corre como un servicio en el puerto TCP/IP 6000

¿Qué servicio provee?

El servicio que provee es:

  • Tamaño de display o visualización.
  • Resolución de pantalla
  • Profundidad de colores
    • 8bits que son 256 colores
    • 24 y 32 bits que son 16 millones de colores
  • Entradas básicas de teclado y el mouse.

Como vemos el servicio que ofrece el servidor X es de proveer visualmente a la maquina cliente de un entorno gráfico.

El servidor de aplicaciones (ósea el que contiene las aplicaciones que nosotros vamos a ver en el servidor gráfico) El cliente no es mas que la aplicación que nosotros queremos visualizar al lado de la maquina cliente que es la que esta corriendo el software del servidor.

Este esquema podría confundir pero es tan fácil como el esquema cliente-servidor pero a la inversa, donde el servidor es la parte o entorno visual y las aplicaciones se encuentran en la parte del cliente.

Xwindows

 

Vamos a ver unos ejemplos de varios sistemas operativos que funcionan cliente-servidor con el sistema servidor gráfico llamado Xwindows System.

¿Cómo Configurar Xwindows en Ubuntu?

Con Ubuntu Linux lo primero es habilitar la opción del protocolo X porque está limitada por seguridad a solo la misma maquina, entonces vamos a habilitarle la conexión por TCP/IP para eso vamos a:

  1. Edita el archivo con: pico /usr/share/lightdm/lightdm.conf.d/50-xserver-command.conf y agregar la siguiente línea: xserver-allow-tcp=true.
  2. Reinicia el ordenador para que reinicie también todo el sistema Xwindows.
  3. por ultimo habilita el sistema de control para permitir la conexión al servicio, esto se hace con: xhost + y la IP o simplemente xhost+ y permitira la conexión desde cualquir IP.
  4. Ahora desde el cliente exportamos con el comando export DISPLAY 192.168.2.121:0 (la IP cambia de-acuerdo a tu configuración).
  5. desde el mismo cliente envía una terminal con el comando xterm

Con esos pasos ya tendrías una xterm de tu cliente asía el servidor.

Con el siguiente comando puedes comprobar en que estas corriendo las aplicaciones cliente:

  • cat /etc /issue.net y el uname –a

¿Cómo Configurar Xwindows en MAC OS X?

  1. En MAC OS X viene instalado un servidor X al cual hay que configurar para que permita todas las conexiones por red.xterm mac os x
  2. Una vez realizado este paso reinicia el MAC.
  3. dentro de la terminal  xhost + 192.168.2.124:0 (IP del PC cliente)
  4. desde la maquina cliente:  export DISPLAY 192.168.2.117:0 (IP del servidor de aplicaciones)
  5. Enviamos la Gnome terminal con el comando: gnome-terminal (Veras como aparece la terminal de ubuntu en tu MAC OS X)

Comprobación :

  • uname –a.
  • cat /etc/issue.net.

¿Cómo Configurar Xwindows en Android?

Igualmente en Android tenemos el Xserver XSDL y este xserver nos permite hacer el mismo proceso, primero que todo levantamos el xserver, luego vamos hacia nuestro sistema operativo Ubuntu, exportamos hacia la ip .124 y enviamos una gnome terminal, cuando enviamos esa gnome terminal va a pasar que nuestro sistema operativo Android nos va a sacar la gnome terminal que va a ocupar todo el espacio disponible en pantalla.

El proceso es el mismo simplemente exportamos la variable e iniciamos el entorno:

  1. Iniciar Xserver XSDL
  2. Desde Ubuntu exportamos:
    1. Comando export DISPLAY=192.168.2.124:0
    2. Enviamos una entorno Gnome con el comando gnome-terminal
  3. xfce4-sessionR

Si abres una terminal puedes comprobar sobre que sistema estas corriendo, puedes ejecutar los siguientes comandos

  • cat etc/issue.net
  • uname -a

Vemos como realmente nuestro Xserver esta sirviendo de plataforma gráfica para traer nuestro escritorio desde el sistema operativo Ubuntu.

¿Cómo Configurar Xwindows en Windows?

En Windows es lo mismo, en Windows hay un xserver libre que se llama Xming y el Xming nos permite hacer exactamente lo mismo que hemos venido haciendo durante todo el articulo.

Después de instalar Xming:

  1. Elige one Windows, siguiente.
  2. Start no client, siguiente.
  3. no access control, siguente y finalizar.
  4. export DISPLAY=192.168.2.110:0
  5. xfce4-sessionR

Entonces vemos que el Xserver no es solamente el entorno gráfico sino un entorno que nos permite a través de una red tener una consola remota gráfica con aplicaciones para nosotros poderla aprovechar en red o localmente como lo hacemos con el Linux.

Gestores de ventanas

Después de ver el Xwindows ahora vamos a ver los gestores de ventanas y los escritorios.

Inicialmente los gestores de ventanas eran aplicaciones que nos permitían mover las ventanas, y visualizarlas nada mas y poderlas mover hacia atrás y hacia adelante, esto fue en la época de UNIX y fue progresando hacia la época de Linux, entonces Linux contaba con este entorno gráfico que se llama TWM, que es bastante arcaico por decirlo así.

Gestor de ventanas TWM

 

Otros Gestores de ventanas

KDE

lamentablemente estos entornos de ventanas no tuvieron el progreso que se debía porque el usuario estaba buscando entornos de escritorio similares a los que ya tenían mac y Windows entonces estos entornos de ventana se quedaron rezagados, y aunque algunos todavía se están trabajando no tienen el impacto hoy en día como lo tuvieron en su época

Paralelo a los anteriores gestores de ventanas se desarrollo el primer escritorio Opensource que hubo para Linux y para UNIX en general pero desarrollado por la comunidad Opensource que venia arrastrada por Linux este es el common desktop environment o KDE.

Lo que tenia de malo KDE es que al principio se basaba en unas librerías gráficas llamadas QT, las librerías QT no eran completamente gratuitas de echo para todas las plataformas costaban dinero menos para Linux que eran gratuitas pero no eran libres, finalmente trolltech la empresa que desarrollaba las QT tuvo que liberar las QT bajo una licencia libre y KDE paso a ser un proyecto completamente Opensource y completamente libre, por las razones que menciones anteriormente KDE no era completamente libre en un principio free software foundation animo al desarrollo de un sistema de escritorio que fuera totalmente libre y totalmente Opensource que fuera compatible con GNU para eso se desarrollo y comenzó el proyecto el mexicano Miguel de Icaza el proyecto Gnome.

Gnome

Gnome pretendía ser lo que KDE erá un sistema de escritorio completo para los sistemas operativos tipo UNIX y Linux en particular, entonces tenemos que Gnome ha tenido una evolución también de un sistema arcaico, un sistema que nada mas proveía un botón de inicio con un menú y una barra de tareas a ser todo un sistema interconectado de aplicaciones para facilitar un entorno de escritorio en un sistema operativo tipo UNIX.

XFCE

Finalmente y como jugadores suplementarios por decirlo así están los otros sistemas de escritorio, esta XFCE que viene del entorno de Solaris, de hecho es un clon del escritorio de Solaris.

Unity

El escritorio Unity partió de Gnome se separo y muchos alegan que es una copia del entorno gráfico de MAC OS X ya que tiene los menús independientes a la ventana del programa y una barra de dock donde se encuentran los accesos directos a los programas que mas utilizas o a los programas que se están ejecutando en el momento, si embargo este sistema Unity no es como muy bienvenido dentro de muchos de los usuarios de Linux a pesar de que Ubuntu es una de las distribuciones mas utilizadas.

LXDE

Esta el LXDE que es una evolución del FWM y el icewm y esta el cinnamon. Este es todo el ecosistema del entorno grafico que tenemos actualmente en Linux.

Conclusión

Entonces recapitulemos tenemos el Xwindows que es el que nos provee el display, que nos permite la resolución, el tamaño, la profundidad de colores y la entrada principal del teclado y el mouse. preparando la parte visual para lo que son los gestores de ventanas como ya lo vimos o los sistemas de escritorio que hoy por hoy son manejados por Gnome, como ser el clon de Gnome que se llama MATE , porque a mucha gente no le gusto el Gnome 3 y quiere seguir conservando el Gnome 2 por eso usan el escritorio de MATE, el KDE que también es un jugador muy fuerte.

Espero que esta información les haya sido de bastante utilidad, y que el tema se haya comprendido bien, que el entorno gráfico de Linux no es solo un entorno gráfico es todo un sistema de protocolos de red para terminales remotas que se puede utilizar y que se puede explotar no solamente como entorno gráfico del sistema operativo. me despido , Soy efox desclasificado un enfoque diferente de la tecnología informática. Hasta el próximo articulo.

Sobre Fernando Alberto Velasquez Aguilera

Comentar

Su dirección de correo electrónico no será publicada.Los campos necesarios están marcados *

*