Sistema X Window

De doc.ubuntu-es
Saltar a: navegación, buscar

El sistema X Window (abreviado X o X11 para la versión 11) es un método independiente para proporcionar capacidades gráficas a un sistema operativo, siendo al mismo tiempo transparente para la red. Es usado mayoritariamente en Unix, y sistemas estilo Unix tales como Linux. X mismo se remonta a 1984 en el MIT. Aunque otros sistemas para proporcionar capacidades gráficas son posibles, el sistema de interfaz gráfica estándar en Linux es el X Window imprSystem.

Contenido

Mecánica de X

Esencialmente, lo que X proporciona es un programa (el servidor X) el cual controla la placa de vídeo y realiza tareas de dibujo gráfico tales como dividir la pantalla en ventanas, dibujar el puntero del mouse, dibujar líneas, acceder al teclado, etc. Corre el driver de vídeo real, así como también proporciona una interfaz a través de la cual otros programas pueden suministrar comandos de dibujo (usando el protocolo X11), obtener entrada, etc, sin tener que saber qué hardware está usándose. Los programas que se conectan al servidor X son llamados clientes X, y pueden incluir aplicaciones tales como procesadores de texto, juegos, etc.

Gestor de ventanas

El window manager (Gestor de ventanas) es un cliente especial X; por su cuenta no dibuja los controles de las ventanas (barra de de título y bordes) ni minimiza, maximiza, levanta, ni otras taras específicas. Esto es delegado al gestor de ventanas. Antes de que los entornos de escritorio se vuelvan más comúnmente usados, el gestor de ventanas era la pieza principal de software responsable para determinar el aspecto y comportamiento de la interfaz gráfica de usuario, sin embargo, los gestores de ventanas pueden solamente atender el aspecto y comportamiento en el nivel de ventana. Dentro de la consistencia de la aplicación se deriva del uso de un conjunto común de herramientas, que no era una característica de las aplicaciones de X previamente. Hay muchos gestores de ventanas disponibles, tales como Window Maker, Enlightenment, y FVWM.

Capacidades de red

X es notable en un número de maneras como sistema de interfaz gráfica. Una característica interesante es que, dado que el protocolo X está diseñado para operar como una secuencia serializada de comandos, soporta transparentemente trabajar a través de una red. Así, un cliente X puede ejecutar una máquina remota casi de la misma manera que uno que se ejecuta localmente. Sus ventanas aparecerán en la pantalla igual que otros programas que se ejecutan en el sistema local. Sin embargo la ejecución local usará más eficientemente el mecanismo de comunicación tales como los sockets de Unix y SHM que un programa remoto, y por lo tanto será significativamente más rápido y eficiente.Esta capacidad de red combinada con sistemas operativos multiusuarios verdaderos pemite un uso mucho más eficiente del hardware.

Muchos usuarios de escritorio solamente usan un pequeño porcentaje del potencial de la CPU de su máquina. Usando X, una PC ordinaria puede dejar que unos 30 usuarios se se registren remotamente y aprovechan más la utilización de la CPU. Esto se usa ampliamente en laboratorios de computación y oficinas donde muchos usuarios están cerca. Además, se puede usar X para permitir que una más de una pantalla por máquina con múltiples interfaces gráficas multi-head, de manera que el costo del hardware cubre más usuarios. El protocolo es extensible, se le pueden agregar prestaciones a medida que va progresando. Por ejemplo, algunas características recientes se agregaron para incluir soporte para fuentes con anti-alias, fuentes truetype, mezcla alfa, y gráficos 3D acelerados por hardware.

Críticas

El sistema X Window ha sido criticado en recientes oportunidades por numerosas razones, Las críticas más comunes son que su dependencia en el protocolo X hace que su desempeño sea peor que otros estilos de diseño de interfaces gráficas, y que el Protocolo X mismo está mostrando su vejez y no proporciona características populares de los sistemas gráficos modernos. Aunque estas críticas han sido muy populares en algunos círculos, hay un amplio desacuerdo con sus conclusiones. En cualquier caso, sería demasiado poco práctico reemplazar X11, dado que muchos programas ya existen para él. Un número de projectos existen para continuar en la mejora de X11 y mantenerlo actualizado con desarrollos en interfaces gráficas de computadoras.

Una crítica es que X usa mucho ancho de banda. Estos es importante cuando muchos usuarios están conectados a un recurso limitado o a través de una conexión lenta. Otra es que la información transmitida está sin cifrar, por lo tanto los intrusos pueden obtenerla haciendo sniffing. Cuando la seguridad es una preocupación, X puede ser reenviado sobre otro protocolo más seguro tal como SSH. NoMachine desarrolló una mejora en X modificando el protocolo para usar menores transacciones y reenviando sobre SSH. NX y FreeNX permiten conexiones gráficas remotas que son útils aun sobre dial-up.

XFree86

XFree86 es un proyecto para producir un sistema de ventanas libre compatible con el sistema X Window. Es compatible con el estándard X11R6. X11R6 viene con una conjunto completo de programas, tales como un gestor de ventanas (twm), un emulador de terminal (xterm), un gestor de acceso (xdm) y otras herramientas. Recientemente, los desacuerdos acerca de la licencia de software de XFree86 ha llevado a algunas distribuciones de Linux a considerar alternativas a XFree86.

X.org

Xorg un sistema gráfico derivado de una ramificación en el proyecto XFree86. El Xorg es muy parecido a XFree86, incluso muchos de los desarrolladores de XFree86 se trasladaron a Xorg en el momento de la división. Hoy en dia este sistema es cada vez más popular, y forma parte de la mayoria de las distribuciones. Gentoo Linux, Fedora Core, Slackware, SuSE, Mandriva, Cygwin/X, Ubuntu y FreeBSD ya lo utilizan y Debian sólo en su versión estable.

Gestor de pantalla

El Display manager (gestor de pantalla o entorno de escritorio) es un programa que sirve para iniciar una sesión de usuario directamente en el Sistema X Window. El gestor de pantalla predeterminado de X es xdm. Sin embargo, la mayoría de las distribuciones de GNU/Linux utilizan otros display managers, tales como gdm (GNOME Display Manager) o si no kdm (KDE Display Manager). Éstos permiten, entre otras cosas, seleccionar el administrador de ventanas o entorno de escritorio antes de comenzar una sesión. En general el display manager es lanzado como un servicio del proceso init.

Variable DISPLAY

Existe una variable de entorno muy importante cuando se utiliza X que es DISPLAY. La variable DISPLAY tiene esta forma:

                                             DISPLAY=Nombre_del_Servidor:display.screen

Donde Nombre_del_Servidor es el nombre de la máquina en la cual está corriendo el servidor X (también puede ser la dirección IP), display es el número de monitor conectado al servidor (se empieza a contar desde 0), screen es el número de pantalla virtual (se comienza a contar desde 0).

Equivalencias XFree86 y Xorg

Debido a que la mayoría de las distribuciones usan Xorg es conveniente conocer cómo se llaman las herramientas y los archivos correspondientes a estas implementaciones de X.

Equivalencias XFree y Xorg
Xfree 86 Xorg
/etc/X11/XF86Config /etc/X11/xorg.conf
xf86config xorgconfig
xf86cfg xorgcfg

El comando xhost

El comando xhost se usa para decirle al servidor X que permita programas remotos de otra computadora acceder a su pantalla, teclado, y mouse. Como no hay distinción de quién puede usar el servidor X en la computadora remota, el método xhost no es una manera muy segura de habilitar el acceso remoto. Es mejor usar xauth o ssh. Usando xhost

Para decirle al servidor X que permita el acceso desde una máquina en particular:

                                            computadoralocal$ xhost +otracompu.empresa.com

Entonces, al iniciar una sesión en otra computadora, hay que configurar la variable DISPLAY de manera que las aplicaciones sepan donde mostrar su salida:

                                            otracomputadora$ export DISPLAY=compulocal.empresa.com:0

Para eliminar totalmente los controles de acceso (lo cual no es una buena idea), se debe ejecutar el comando:

                                            computadoraloca$ xhost +

El programa xinit

El programa xinit se usa para iniciar el servidor del sistema de ventanas X y un primer programa cliente en sistemas que no pueden arrancar X directamente a partir de init o en entornos que usan múltiples sistemas de ventanas. Cuando sale este primer cliente, xinit mata el servidor X y luego termina. Si no se suministra un programa cliente en la línea de comandos, xinit buscará un archivo en el directorio de inicio del usuario llamado .xinitrc para ejecutarlo como un script de shell para arrancar programas clientes.

Recursos de X

Nota: Esta sección tiene como Fuente a un artículo de Wikipedia en inglés [1], y debe ser distribuida como GNU GNU FDL [2].

En el sistema de ventanas X, los recursos de X comprenden parámetros de los programas de computadoras tales como el nombre de la fuente usada en los botones, el color de fondo de los menús, etc.

Ubicación y uso

Durante la ejecución del servidor X, los recursos de éste se almacenan en dos ubicaciones estándares, dependiendo de si se aplican a todas las pantallas o a una en particular:

  1. la propiedad RESOURCE_MANAGER de la ventana raíz de la pantalla 0
  2. la propiedad SCREEN_RESOURCES de la ventana raíz de una pantalla arbitraria

Los recursos de X se almacenan en el servidor en lugar de en un archivo de configuración para permitir que los programas que inicien desde otras computadoras los usen. Sin duda, un programa que se conecta a un servidor X desde otra computadora puede acceder a los recursos vía el protocolo X. Usando el viejo sistema de almacenar parámetros del programa en el archivo .Xdefaults crea la necesidad de copiar este archivo a todos las demás computadoras donde se puede inicar un programa.

Los recursos son manipulados por el programa xrdb. En particular, muchas configuraciones de X ejecutan xrdb en el arranque, instruyendo a que lean los recursos del archivo .Xresources en el directorio de inicio del usuario. Desde este momento en adelante, cada programa busca los recursos en las dos ubicaciones estándares. Se pueden ver los recursos actuales desde una consola con

                                               xrdb -query.

xvidtune

xvidtune es un programa para ajustar la configuración del monitor. Proporciona una interfaz con diversos controles para configurar las frecuencias de actualización del monitor y la resolución de la pantalla.

Alternativas a XFree86 y a X

  • Otras implantaciones de X:
Metro X
Accelerated X
  • Alternativas a X Window mismo:
GGI
SVGAlib
Berlin



Fuentes

http://wiki.xtech.com.ar/index.php/Tema_110:_El_sistema_X_Window

http://en.wikipedia.org/wiki/Main_Page

http://wiki.linuxquestions.org/wiki/Main_Page

Enlaces interesantes

http://wiki.x.org/wiki/

http://www.guia-ubuntu.org/index.php?title=Categor%C3%ADa:Sistema_X_Window

http://xwinman.org/

http://www.faqs.org/faqs/x-faq/part1/preamble.html

Herramientas personales