Entorno
grafico de Linux
El
entorno gráfico mas utilizado en Unix y GNU/Linux: XWindow
XWindow
es un sistema estandarizado para manejo de aplicaciones gráficas en Unix y es
el utilizado por GNU/Linux.
Posee
una arquitectura muy peculiar pensada no sólo para usar aplicaciones gráficas
locales, sino que también remotas, además de brindar una gran flexibilidad al
entorno y en definitiva al usuario del mismo.
El
sistema XWindow se compone de varias partes bien definidas y estandarizadas,
pero los conceptos mas notables y útiles de entender son:
funciona en modalidad cliente-servidor
posee los denominados manejadores de
ventanas
las aplicaciones utilizan librerías de
widgets
existen entornos integrados de escritorio
Modalidad
cliente-servidor
Mediante
ésta modalidad, un usuario utilizando el sistema XWindow puede correr no
solamente aplicaciones en su computadora, sino que también puede correr
aplicaciones en otra computadora y manejarlas de la misma manera a como lo hace
con las aplicaciones ejecutándose localmente.
El
servidor es el encargado de manejar el hardware (pantalla, teclado, mouse,
etc.).
Los
clientes son las aplicaciones que el usuario utiliza, éstas se conectan al
servidor utilizando los servicios brindados por éste y la conexión puede ser
remota o en la misma computadora.
La
abstracción del hardware brindada por el servidor permite utilizar aplicaciones
ejecutadas en plataformas completamente diferentes, incluso diferentes sistemas
operativos, implementaciones de XWindow y hardware.
Nótese
el potencial que brinda esto, ya que por ejemplo puede utilizarse para ahorrar
dinero ejecutar aplicaciones en un computador de alta performance y tener
terminales baratas, sencillas y prácticas para manejar dichas aplicaciones; y
ésta solución también brinda mayor facilidad de administración, ya que la misma
se puede centralizar en el computador central (el cual desde el punto de vista
de XWindow actúa cómo cliente y las terminales serían los servidores).
Los
manejadores de ventanas
Éstos
se encargan de manejar la posición y tamaño de las ventanas de las
aplicaciones, así como también el "foco", el cambio de una ventana a
otra, y varias otras cosas mas, relacionadas con las ventanas.
Los
manejadores de ventanas son clientes especiales, ya que puede correrse en un
momento dado solamente uno por cada servidor.
Por lo
general los manejadores de ventanas soportan varias características avanzadas
como por ejemplo varios escritorios virtuales, decoraciones muy vistosas y
configurables, algunos soportan menús para lanzar aplicaciones e íconos en el
escritorio, etc. Los escritorios virtuales dividen la pantalla en partes o
escritorios, donde se puede tener por cada escritorio un conjunto de ventanas
dado, y se puede cambiar de escritorio a escritorio tan fácilmente como
cambiarse de una aplicación a otra.
Las
aplicaciones y las librerías de widgets
XWindow
provee una librería de programación estándar llamada XLib, la cual es muy
básica y no fue pensada para hacer aplicaciones directamente sobre ella (si
bien las hay), sino mas bien para ser usada por otras librerías de mas alto
nivel de abstracción y proveer de las funciones básicas de comunicación,
dibujado, etc. de XWindow.
Por lo
tanto las aplicaciones son desarrolladas sobre librerías que proporcionan los
denominados "widgets" y otras utilidades.
Los
widgets son los controles con los cuales el usuario interactúa con las
aplicaciones, es decir, son las cajitas de texto, las etiquetas, los botones,
etc., y que juntos forman la interface de las aplicaciones.
Existen
muchas librerías de widgets y por lo tanto hay varios estilos de interfaces y
muchos programas se ven diferentes a otros debido a que usan una librería de
widgets diferente. Sin embargo hay algunas librerías de widgets que son mas comúnmente
usadas, pero éstas por lo general permiten una amplia configuración de la
visualización y el comportamiento al usuario, y por eso si uno observa el
entorno gráfico de dos usuarios, por lo general encontrará diferencias.
Que
halla tal variedad y flexibilidad no es algo malo, sino que esto permite al
usuario estar a gusto con su entorno gráfico, y hasta identificarse con él.
Los
entornos integrados de escritorio
Éstos
van mas allá de un manejador de ventanas y una librería para crear aplicaciones
sobre ella; proveen un conjunto de aplicaciones, librerías y otros sistemas,
para lograr mayor integración entre sus aplicaciones y mayor integración de
éstas con el entorno.
Algunos
de los aspectos que definen los entornos integrados de escritorio son:
El
funcionamiento del drag&drop (ej. cuando se arrastra un archivo de imagen
sobre un procesador de texto).
La
intercomunicación entre aplicaciones.
Extensiones
al manejador de ventanas para que soporte mas cosas y se integre mejor con las
aplicaciones.
Arquitectura
de aplicaciones formadas por componentes embebidos (ej. embeber una planilla de
cálculo en un procesador de texto).
Configuración
centralizada y compartida (ej. se cambia un seteo y se refleja en todas las
aplicaciones).
Manejo
de sesiones (éste punto también puede ser realizado por algunos manejadores de
ventanas u otros programas y consiste en apagar el sistema en un estado dado y
al reiniciarlo que vuelva al estado en que se encontraba, es decir, con todas
las aplicaciones con las cuales el usuario estaba trabajando abiertas y con los
documentos o datos que estaban manejando).
otras
cosas que redundan en una mayor integración entre las aplicaciones y el entorno
(ej. íconos estándar, teclas de acceso rápido estándar, etc.).
Procesos
de Linux
Los
procesos son programas que se ejecutan en un momento dado. Cuando usamos un sistema
operativo de GNU/Linux como Ubuntu por ejemplo (o cualquier otro, también
dentro de windows y mac puede aplicarse) existen una serie de procesos que se
están ejecutando constantemente y que son los que hacen al sistema operativo
utilizable.
Los procesos
en GNU/Linux son organizados de forma jerárquica, cada proceso es lanzado por
un proceso padre y es denominado proceso hijo. De está forma, todos los
procesos en GNU/Linux son hijos de init ya que este es el primer proceso que se
ejecuta al iniciar el ordenador y init es padre de todos los procesos. Si se
mata al proceso padre, también desaparecerán los procesos hijos.
No hay comentarios:
Publicar un comentario