Sistema X Window

De doc.ubuntu-es
(Diferencias entre revisiones)
Saltar a: navegación, buscar
Línea 1: Línea 1:
 
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.
 
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.
 
==Mecánica de X==
 
==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, accder al teclado, etc. Corre el driver de video 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.
+
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, accder al teclado, etc. Corre el driver de video 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.
 
Los programas que se conectan al servidor X son llamados clientes X, y pueden incluir aplicaciones tales como procesadores de texto, juegos, etc.
 
==Administrador de ventanas==
 
==Administrador de ventanas==
El window manager (administrador 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 administrador de ventanas. Antes de que los entornos de escritorio se vuelvan más comúnmente usados, el adminsitrador 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 administradores 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. Muchos administradores de ventanas están disponibles, tales como Window Maker, Enlightenment, y FVWM.
+
El window manager (administrador 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 administrador de ventanas. Antes de que los entornos deescritorio se vuelvan más comúnmente usados, el adminsitrador 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 administradores 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. Muchos administradores de ventanas están disponibles, tales como Window Maker, Enlightenment, y FVWM.
 +
 
 
==Capacidades de red==
 
==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 en casi la misma manera que uno que se ejecuta actualmente. Sus ventanas aparecerán en la pantalla igual que otros programas que se ejecutan enel 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.
+
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 en casi la misma manera que uno que se ejecuta actualmente. Sus ventanas aparecerán en la pantalla igual que otros programas que se ejecutan enel 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 logueen remotamente y aprocechan 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.  
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 logueen remotamente y aprocechan 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.
 
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==
 
==Críticas==
Línea 29: Línea 30:
 
==Equivalencias XFree86 y Xorg==
 
==Equivalencias XFree86 y Xorg==
  
Debido a que la mayoría de las distribuciones usan Xorg es conveniente conocer como se llaman las herramientas y los archivos correspondientes a estas implementaciones de X.
+
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.
  
{| border=1 style="float:left; margin:0 0 1em 1em"
+
{| border=1 style="float:center; margin:0 0 1em 1em"
 
|+Equivalencias XFree y Xorg
 
|+Equivalencias XFree y Xorg
 
!Xfree 86!!Xorg
 
!Xfree 86!!Xorg
Línea 39: Línea 40:
 
|xf86config ||xorgconfig
 
|xf86config ||xorgconfig
 
|-----------------
 
|-----------------
|xf86cfg ||xorgcfg
+
|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 [http://en.wikipedia.org/wiki/X_resources], y debe ser distribuida como GNU GNU FDL [http://en.wikipedia.org/wiki/Wikipedia:Text_of_the_GNU_Free_Documentation_License].
 +
 +
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:
 +
 +
# la propiedad RESOURCE_MANAGER de la ventana raíz de la pantalla 0
 +
# 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.
 +
 +
 +
  
  
Línea 47: Línea 89:
  
  
 +
----
  
 +
'''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
  
  

Revisión de 20:16 31 mayo 2007

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, accder al teclado, etc. Corre el driver de video 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.

Administrador de ventanas

El window manager (administrador 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 administrador de ventanas. Antes de que los entornos deescritorio se vuelvan más comúnmente usados, el adminsitrador 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 administradores 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. Muchos administradores de ventanas están 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 en casi la misma manera que uno que se ejecuta actualmente. Sus ventanas aparecerán en la pantalla igual que otros programas que se ejecutan enel 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 logueen remotamente y aprocechan 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 qie 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 modificándo 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

La X.org Foundation también desarrolló un servidor X (usualmente referido como Xorg). EL desarrollo fue recientemente abierto y puesto en el sitio de freedesktop.

Gestor de pantalla

El Display manager (gestor de pantalla) es un programa que sirve para iniciar una sesión de usuario directamente en elSistema X Window. El gestor de pantalla predeterminado de X es xdm. Sin embargo, la mayoría de las distribuciones de Linux utilizan otros display managers, tales como gdm (GNOME Display Manager) o sino kdm (KDE Display Manager). Estos 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.






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

Herramientas personales