En informática , el sistema de ventanas X (comúnmente: X11 o X) es un sistema de ventanas transparente de red para pantallas de mapa de bits . Este artículo detalla los protocolos y la estructura técnica de X11.
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/9/95/X11.svg/100px-X11.svg.png)
Modelo cliente-servidor y transparencia de la red
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/0/03/X_client_server_example.svg/250px-X_client_server_example.svg.png)
X usa un modelo cliente-servidor . Un programa de servidor X se ejecuta en una computadora con una pantalla gráfica y se comunica con varios programas de cliente . El servidor X actúa como un intermediario entre el usuario y los programas cliente, aceptando solicitudes en el puerto TCP 6000 para salida gráfica (ventanas) de los programas cliente y mostrándolas al usuario (pantalla), y recibiendo entradas del usuario (teclado, mouse) y transmitirlo a los programas cliente.
En X, el servidor se ejecuta en la computadora del usuario, mientras que los clientes pueden ejecutarse en máquinas remotas. Esta terminología invierte la noción común de sistemas cliente-servidor, donde el cliente normalmente se ejecuta en la computadora local del usuario y el servidor se ejecuta en la computadora remota. La terminología de X Window toma la perspectiva de que el programa X Window está en el centro de toda la actividad, es decir, el programa X Window acepta y responde a las solicitudes de las aplicaciones y de la entrada del mouse y el teclado del usuario. Por lo tanto, las aplicaciones (en computadoras remotas) se ven como clientes del programa del servidor X Window.
El protocolo de comunicación entre el servidor y el cliente se ejecuta de forma transparente en la red : el cliente y el servidor pueden ejecutarse en la misma máquina o en diferentes, posiblemente con diferentes arquitecturas y sistemas operativos . Un cliente y un servidor pueden comunicarse de forma segura a través de Internet mediante un túnel de la conexión a través de una conexión cifrada. [1]
Criterios de diseño
Bob Scheifler y Jim Gettys establecieron los principios iniciales de X de la siguiente manera (como se enumeran en Scheifler / Gettys 1996):
- No agregue nueva funcionalidad a menos que un implementador no pueda completar una aplicación real sin ella.
- Es tan importante decidir qué no es un sistema como decidir qué es. No atienda todas las necesidades del mundo; más bien, haga que el sistema sea extensible para que las necesidades adicionales puedan satisfacerse de una manera compatible hacia arriba.
- Lo único peor que generalizar a partir de un ejemplo es generalizar a partir de ningún ejemplo.
- Si un problema no se comprende completamente, probablemente sea mejor no proporcionar ninguna solución.
- Si puede obtener el 90 por ciento del efecto deseado para el 10 por ciento del trabajo, use la solución más simple. (Ver también Peor es mejor ).
- Aísle la complejidad tanto como sea posible.
- Proporcionar un mecanismo en lugar de una política. En particular, ponga la política de interfaz de usuario en manos de los clientes.
El primer principio se modificó durante el diseño de X11 para: No agregar nueva funcionalidad a menos que conozca alguna aplicación real que lo requiera.
X se ha mantenido en gran medida en estos principios desde entonces. La Fundación X.Org desarrolla la implementación de referencia con miras a la extensión y mejora de la implementación, manteniéndola casi totalmente compatible con el protocolo original de 1987.
Protocolo central
La comunicación entre el servidor y los clientes se realiza mediante el intercambio de paquetes a través de un canal de red . El cliente establece la conexión, enviando el primer paquete. El servidor responde enviando un paquete indicando la aceptación o rechazo de la conexión, o con una solicitud de autenticación adicional. Si se acepta la conexión, el paquete de aceptación contiene datos para que el cliente los utilice en la interacción posterior con el servidor.
Una vez establecida la conexión, el cliente y el servidor intercambian cuatro tipos diferentes de paquetes a través del canal:
- Solicitud: el cliente solicita información al servidor o lo solicita para realizar una acción.
- Responder: el servidor responde a una solicitud. No todas las solicitudes generan respuestas.
- Evento: el servidor envía un evento al cliente, por ejemplo, una entrada de teclado o mouse, o una ventana que se mueve, cambia de tamaño o se expone.
- Error: el servidor envía un paquete de error si una solicitud no es válida. Dado que las solicitudes están en cola, es posible que los paquetes de error generados por una solicitud no se envíen inmediatamente.
El servidor X proporciona un conjunto de servicios básicos. Los programas cliente realizan funcionalidades más complejas al interactuar con el servidor.
Ventanas
![](http://wikiimg.tojsiabtv.com/wikipedia/commons/thumb/4/49/Some_X_windows.svg/378px-Some_X_windows.svg.png)
Lo que otras interfaces gráficas de usuario suelen llamar ventana es una ventana de nivel superior en el sistema X Window. El término ventana también se utiliza para las ventanas que se encuentran dentro de otra ventana, es decir, las subventanas de una ventana principal . Los elementos gráficos como botones, menús, iconos, etc. se realizan mediante ventanas.
Una ventana solo se puede crear como una subventana de una ventana principal. Esto hace que las ventanas se ordenen jerárquicamente en un árbol . El servidor X crea automáticamente la raíz del árbol, llamada ventana raíz . Las ventanas de nivel superior son exactamente las subventanas directas de la ventana raíz. Visiblemente, la ventana raíz es tan grande como la pantalla y se encuentra detrás de todas las demás ventanas.
Identificadores
El servidor X almacena todos los datos sobre ventanas, fuentes, etc. El cliente conoce los identificadores de estos objetos, números enteros que puede usar como nombres para ellos cuando interactúa con el servidor. Por ejemplo, si un cliente desea que se cree una ventana, solicita al servidor que cree una y (en caso de éxito) obtiene a cambio un identificador del servidor asociado con la ventana recién creada. El identificador puede ser utilizado posteriormente por el cliente para solicitar, por ejemplo, que se dibuje una cadena en la ventana.
Los identificadores son únicos para el servidor, no solo para el cliente; por ejemplo, no hay dos ventanas que tengan el mismo identificador, incluso si son creadas por dos clientes diferentes. Un cliente puede acceder a cualquier objeto dado su identificador, incluso si otro cliente creó el objeto.
Atributos y propiedades
Cada ventana tiene un conjunto predefinido de atributos y un conjunto de propiedades, todos almacenados en el servidor X y accesibles a los clientes a través de las solicitudes correspondientes. Los atributos son datos sobre la ventana, como su tamaño, posición, color de fondo, etc. Las propiedades son piezas de datos que se adjuntan a una ventana. A diferencia de los atributos, las propiedades no tienen ningún significado al nivel del protocolo central de X Window. Un cliente puede almacenar datos arbitrarios en una propiedad de una ventana.
Una propiedad se caracteriza por un nombre, un tipo y un valor. Las propiedades se asemejan a las variables en los lenguajes de programación imperativos , en el sentido de que la aplicación puede crear una nueva propiedad con un nombre y un tipo determinados y almacenar un valor en ella. Las propiedades están asociadas a las ventanas: dos propiedades con el mismo nombre pueden existir en dos ventanas diferentes y tener diferentes tipos y valores.
Las propiedades se utilizan principalmente para la comunicación entre clientes. Por ejemplo, la propiedad nombrada WM_NAME
almacena el nombre de la ventana; los administradores de ventanas normalmente leen esta propiedad y muestran el nombre de la ventana en la parte superior.
El xprop
programa puede mostrar las propiedades de una ventana. En particular, xprop -root
muestra las propiedades de la ventana raíz, que incluyen los recursos X (parámetros de programas).
Eventos
Los eventos son paquetes que envía el servidor al cliente para comunicar que ha sucedido algo que puede interesar al cliente. Un cliente puede solicitar al servidor que envíe un evento a otro cliente; esto se utiliza para la comunicación entre clientes. Por ejemplo, cuando un cliente solicita el texto que está seleccionado actualmente, se envía un evento al cliente que actualmente está manejando la ventana que contiene la selección.
El contenido de una ventana puede "destruirse" en algunas condiciones (por ejemplo, si la ventana está cubierta). Siempre que se hace visible un área de contenido destruido, el servidor genera un Expose
evento para notificar al cliente que se debe dibujar una parte de la ventana.
Otros eventos pueden servir para notificar a los clientes de la entrada de teclado o mouse, de la creación de nuevas ventanas, etc.
Algunos tipos de eventos siempre se envían a un cliente, pero la mayoría de los eventos se envían solo si el cliente expresó previamente su interés en ellos, ya que los clientes solo pueden estar interesados en algún tipo de eventos. Por ejemplo, un cliente puede estar interesado en eventos relacionados con el teclado pero no en eventos relacionados con el mouse.
Modos de color
La forma en que el sistema X Window maneja los colores a veces puede confundir a los usuarios y, históricamente, se han admitido varios modos diferentes. La mayoría de las aplicaciones modernas utilizan todo color ( color de 24 bits, 8 bits para cada uno de los colores rojo, verde y azul), pero las aplicaciones antiguas o especializadas pueden requerir un modo de color diferente. Muchas aplicaciones comerciales especializadas utilizan PseudoColor .
El protocolo X11 en realidad usa un único entero sin signo de 32 bits, llamado valor de píxel , para representar un solo color en la mayoría de las operaciones gráficas. Al transferir la intensidad de los colores primarios , se utiliza un número entero de 16 bits para cada componente de color. Existen las siguientes representaciones de colores; no todos pueden ser compatibles con un dispositivo específico.
- DirectColor: un valor de píxel se descompone en subcampos separados de rojo, verde y azul. Cada subcampo indexa un mapa de colores independiente. Las entradas en todos los mapas de colores se pueden cambiar.
- TrueColor: Igual que DirectColor, excepto que las entradas del mapa de colores están predefinidas por el hardware y no se pueden cambiar. Normalmente, cada uno de los mapas de color rojo, verde y azul proporciona una rampa de intensidad (casi) lineal.
- Escala de grises: un valor de píxel indexa un único mapa de colores que contiene intensidades monocromáticas. Las entradas del mapa de colores se pueden cambiar.
- StaticGray: Igual que GrayScale, excepto que las entradas del mapa de colores están predefinidas por el hardware y no se pueden cambiar.
- PseudoColor ( Chunky ): un valor de píxel indexa un único mapa de colores que contiene intensidades de color. Las entradas del mapa de colores se pueden cambiar.
- StaticColor: Igual que PseudoColor, excepto que las entradas del mapa de colores están predefinidas por el hardware y no se pueden cambiar.
Xlib y otras bibliotecas cliente
La mayoría de los programas cliente se comunican con el servidor a través de la biblioteca cliente Xlib . Además de Xlib, la biblioteca XCB opera más de cerca al protocolo X. En particular, la mayoría de los clientes usan bibliotecas como Xaw , Motif , GTK + o Qt que, a su vez, usan Xlib para interactuar con el servidor. Qt cambió de Xlib a XCB con la versión 5.0, pero los programas cliente casi no se vieron afectados por este cambio.
Comunicación entre clientes
El protocolo central de X Window proporciona mecanismos para la comunicación entre clientes: propiedades y eventos de la ventana, en particular los eventos de mensajes de cliente a cliente. Sin embargo, no especifica ningún protocolo para tales interacciones. En cambio, un conjunto separado de convenciones de comunicación entre clientes rige estos protocolos.
El Manual de convenciones de comunicación entre clientes especifica el protocolo para el intercambio de datos a través de selecciones y la interacción de aplicaciones con el administrador de ventanas. Algunos han considerado esta especificación difícil y confusa; [2] [3] la coherencia de la apariencia y la comunicación de la aplicación se aborda normalmente mediante la programación en un entorno de escritorio determinado.
El protocolo Inter-Client Exchange (ICE) especifica un marco para crear protocolos para la interacción entre clientes, de modo que los programadores puedan construir un protocolo específico sobre él. En particular, el protocolo X Session Management (XSMP) es un protocolo basado en ICE que gobierna la interacción entre aplicaciones con el administrador de sesiones , que es el programa que se encarga de almacenar el estado del escritorio al finalizar una sesión interactiva y recuperándolo cuando se inicia otra sesión con el mismo usuario.
Las especificaciones de freedesktop incluyen convenciones más nuevas, incluida la convención de arrastrar y soltar Xdnd (que se usa para transferir datos seleccionándolos y arrastrándolos en otra ventana) y la convención de aplicación integrada Xembed (que detalla cómo una aplicación puede ejecutarse en una subventana de otra ).
Selecciones, cortar búferes y arrastrar y soltar
Los mecanismos de selección, cortar búferes y arrastrar y soltar en el sistema X Window permiten al usuario transferir datos de una ventana a otra. Las selecciones y el búfer de corte se utilizan (normalmente) cuando un usuario selecciona texto o algún otro dato en una ventana y lo pega en una ventana diferente. Arrastrar y soltar se usa cuando un usuario selecciona algo en una ventana, luego hace clic en la selección y la arrastra a otra ventana.
Dado que dos aplicaciones diferentes pueden manejar las dos ventanas, la transferencia de datos requiere diferentes clientes conectados con el mismo servidor X para interactuar. El protocolo central de X Window incluye algunos tipos de solicitudes y eventos que son específicos del intercambio de selección, pero la transferencia se realiza principalmente utilizando el envío de eventos general de cliente a cliente y las propiedades de ventana, que no son específicas de la transferencia de selección.
Los usuarios pueden transferir datos de diferentes tipos entre clientes: suele ser texto, pero también puede ser un mapa de píxeles, un número, una lista de objetos, etc.
Las selecciones y arrastrar y soltar son mecanismos activos: después de que el usuario selecciona datos en una ventana, el cliente que maneja la ventana debe admitir activamente un protocolo para transferir esos datos a la aplicación que los solicita. Los búferes de corte , por el contrario, proporcionan un mecanismo pasivo: cuando el usuario selecciona algún texto, su contenido se transfiere a un búfer de corte, donde permanece incluso si la aplicación que maneja la ventana termina y la ventana se destruye.
Administrador de ventanas
Un administrador de ventanas es un programa que controla la apariencia general de las ventanas y otros elementos gráficos de la interfaz gráfica de usuario . Las diferencias en el aspecto de X Window System en diferentes instalaciones se deben principalmente al uso de diferentes administradores de ventanas o de diferentes configuraciones del administrador de ventanas.
El administrador de ventanas se encarga de decidir la posición de las ventanas, colocar el borde decorativo a su alrededor, manejar los iconos, manejar los clics del mouse fuera de las ventanas (en el "fondo"), manejar ciertas pulsaciones de teclas, etc.
Desde el punto de vista del servidor X, el administrador de ventanas funciona como un cliente como cualquier otro cliente. La posición inicial y los bordes decorativos alrededor de las ventanas son manejados por el administrador de ventanas usando las siguientes solicitudes:
- una aplicación puede solicitar al servidor que no satisfaga las solicitudes de mapeo (que muestre) subventanas de una ventana determinada y que en su lugar se le envíe un evento;
- una aplicación puede solicitar cambiar el padre de una ventana.
El administrador de ventanas utiliza la primera solicitud para interceptar cualquier solicitud de mapeo de ventanas de nivel superior (elementos secundarios de la ventana raíz). Siempre que otra aplicación solicita el mapeo de una ventana de nivel superior, el servidor no lo hace, sino que envía un evento al administrador de ventanas. La mayoría de los administradores de ventanas reparan la ventana: crean una ventana de nivel superior más grande (llamada ventana de marco) y reparan la ventana original como un hijo de ella. Gráficamente, esto corresponde a colocar la ventana original dentro de la ventana marco. El espacio de la ventana de marco que no ocupa la ventana original se utiliza para el marco decorativo alrededor de la ventana (el "borde" y la "barra de título").
El administrador de ventanas administra los clics del mouse en la ventana del marco. Esto permite, por ejemplo, que un usuario mueva o cambie el tamaño de la ventana haciendo clic y arrastrando en el borde o en la barra de título.
El administrador de ventanas también maneja iconos y elementos visuales relacionados de la interfaz gráfica de usuario. Los iconos no existen en el nivel del protocolo central de X Window. Son implementados por el administrador de ventanas. Por ejemplo, siempre que una ventana tiene que ser "iconificada", el administrador de ventanas FVWM desmapea la ventana y crea una ventana para el nombre del icono y posiblemente otra ventana para la imagen del icono. Por lo tanto, el administrador de ventanas decide completamente el significado y el manejo de los iconos: algunos administradores de ventanas como wm2 no implementan iconos en absoluto.
Gestor de sesiones
A grandes rasgos, el estado de una sesión es el "estado del escritorio" en un momento dado: un conjunto de ventanas con su contenido actual. Más precisamente, es el conjunto de aplicaciones que gestionan estas ventanas y la información que permite a estas aplicaciones restaurar el estado de sus ventanas gestionadas si es necesario. Un programa conocido como administrador de sesiones X guarda y restaura el estado de las sesiones.
Lo más reconocible es que el uso de un administrador de sesiones permite a un usuario cerrar la sesión de una sesión interactiva pero encontrar exactamente las mismas ventanas en el mismo estado cuando vuelve a iniciar sesión. Para que esto funcione, el programa administrador de sesiones almacena los nombres de las aplicaciones en ejecución al cerrar la sesión y las vuelve a iniciar al iniciar sesión. Para que también se restaure el estado de las aplicaciones (que es necesario para restaurar el contenido de Windows), las aplicaciones deben poder guardar su estado de ejecución cuando lo solicite el administrador de sesiones y volver a cargarlo cuando se inicien de nuevo. .
El sistema X Window incluye un administrador de sesiones predeterminado llamado xsm
. Los desarrolladores han escrito otros administradores de sesiones para sistemas de escritorio específicos: por ejemplo, ksmserver
es el administrador de sesiones predeterminado de KDE .
Administrador de pantalla X
El programa conocido como el administrador de pantalla X muestra el indicador de inicio de sesión gráfico en el sistema X Window. De manera más general, un administrador de pantalla ejecuta uno o más servidores X en la computadora local o acepta conexiones entrantes de servidores X que se ejecutan en computadoras remotas. Los servidores locales son iniciados por el administrador de pantalla, que luego se conecta a ellos para presentar al usuario la pantalla de inicio de sesión. Los servidores remotos se inician independientemente del administrador de pantalla y se conectan a él. En esta situación, el administrador de pantalla funciona como un servidor telnet gráfico : un servidor X puede conectarse al administrador de pantalla, que inicia una sesión; las aplicaciones que utilizan esta sesión se ejecutan en la misma computadora del administrador de pantalla, pero tienen entrada y salida en la computadora donde se ejecuta el servidor X (que puede ser la computadora frente al usuario o una remota).
El sistema X Window se envía con XDM como el administrador de pantalla básico suministrado. Otros administradores de visualización incluyen GDM ( GNOME ), KDM / SDDM ( KDE ), WDM (usando el conjunto de widgets WINGs usado en Window Maker ) y entrada (usando la arquitectura usada en Enlightenment v.17).
Elementos de la interfaz de usuario
Los primeros kits de herramientas de widgets para X incluían Xaw ( Athena Widget Set, 1983), OLIT ( OPEN LOOK Intrinsics Toolkit, 1988), XView (1988), Motif (1980) y Tk . OLIT y XView funcionan como los juegos de herramientas base para el entorno de escritorio OpenWindows heredado de Sun.
Motif proporciona el kit de herramientas base para Common Desktop Environment (CDE), el entorno de escritorio utilizado en sistemas Unix comerciales como Solaris , AIX y HP-UX . (Solaris 10 incluye CDE y GNOME , siendo este último el entorno de escritorio preferido a partir de 2010[actualizar].)
Los kits de herramientas desarrollados más recientemente incluyen Qt (1991-, utilizado por KDE ), GTK + (1997-, utilizado por GNOME), wxWidgets (1992-), FLTK (1998-), FOX (1997-) y fpGUI (2005-actual).
Extensiones
Scheifler y Gettys diseñaron el servidor X para que fuera simple pero extensible. Como tal, gran parte de la funcionalidad reside ahora en extensiones del protocolo.
A nivel de protocolo, a cada extensión se le pueden asignar nuevos tipos de paquetes de solicitud / evento / error. Las aplicaciones cliente acceden a las funciones de extensión a través de bibliotecas de extensión. Se informa que agregar extensiones a las implementaciones actuales del servidor X es difícil debido a la falta de modularidad en el diseño del servidor. [4] Es un objetivo a largo plazo del proyecto XCB automatizar la generación de extensiones tanto del lado del cliente como del servidor a partir de descripciones de protocolo XML.
La siguiente tabla proporciona un catálogo parcial de extensiones que se han desarrollado, ordenadas aproximadamente por fecha reciente de introducción:
Extensión | Descripción y notas |
---|---|
Compuesto | Representación fuera de pantalla de jerarquías de ventanas completas, lo que permite que las aplicaciones y los administradores de composición realicen efectos en cualquier lugar del camino Requerido para cosas como transparencia alfa para ventanas y sombras paralelas. |
Daño | Realiza un seguimiento de las regiones modificadas de las ventanas y minimiza el uso del ancho de banda necesario para mantener la pantalla actualizada. |
XFixes | Varios cambios de protocolo. |
Información visual ampliada (EVIE) | Permite al cliente determinar información sobre los elementos visuales del núcleo X más allá de lo que proporciona el protocolo del núcleo. |
Multicabezal distribuido (DMX) | Se comunica con el servidor DMX X |
Compensación de movimiento de X-Video (XvMC) | Descarga de compensación de movimiento de video a una GPU que lo admita. |
GLX | Soporte para renderizar OpenGL dentro de Windows. |
XRender | Composición de imágenes acelerada por hardware con fusión alfa. |
Cambiar tamaño y rotar (RANDR) | Cambie dinámicamente el tamaño, el reflejo, la rotación y la frecuencia de actualización de una pantalla X. |
Xinerama | Dividir el escritorio en varios monitores. |
Señalización de gestión de energía de pantalla ( DPMS ) | Permite controlar los modos de ahorro de energía del monitor. |
Extensión de teclado X | Manejo mejorado de la distribución del teclado. |
DOBLE AMORTIGUADOR | Proporciona una animación sin parpadeos. |
REGISTRO | Utilizado en pruebas de servidor |
MIT-SHM | Uso de memoria compartida para mejorar el rendimiento. |
SINCRONIZAR | Proporciona temporizadores y sincroniza clientes (por ejemplo, que se ejecutan en diferentes hosts y sistemas operativos) desde el servidor X. Creado debido a errores introducidos por la red. |
XTEST | Para generar entradas falsas. Utilice es decir, el xte aplicación desde el xautomation paquete. |
XInputExtension | Soporte para dispositivos de entrada como tabletas gráficas; implementable como libXi [5] |
GRANDES SOLICITUDES | Habilita solicitudes que superen los 262,140 bytes de longitud. |
XC-MISC | Corrige el rango de ID de recurso desbordado [6] |
Extensión de video X | Soporte para superposiciones de video de hardware y escalado de video basado en hardware en la reproducción. También se llama Xv (no confundir con el programa xv ). |
Forma | Soporte para ventanas no rectangulares y parcialmente transparentes (binarias, sin opacidad alfa). |
PROTECTOR DE PANTALLA MIT | Inicia un programa cuando el servidor X enciende el protector de pantalla integrado |
SEGURIDAD | Proporciona seguridad de servidor mejorada [7] |
X-Resource | Permite consultar al servidor X sobre su uso de recursos. |
XFree86-Bigfont | |
XFree86-DGA | Proporciona acceso directo al framebuffer lineal (acceso directo a gráficos). Se eliminará principalmente en X.Org 7.6 [8] |
XFree86-VidModeExtension | Configura dinámicamente modelinas y gamma. |
Extensiones obsoletas
Extensión | Descripción y notas |
---|---|
Ancho de banda bajo X (LBX) | Reemplazado por VNC tunelizado sobre una conexión de shell segura, demostró ser más rápido que LBX. |
PEX | "Extensión PHIGS a X"; soporte para PHIGS 3D Scene Graph API. En su lugar, se usa con frecuencia GLX con OpenGL. |
Extensión XImage | En su lugar, se utiliza MIT-SHM. |
XEvIE | X Extensión de interceptación de eventos. Diseñado para usuarios que necesitan interceptar todos los eventos de teclado y mouse. Eliminado en X.Org 7.5. [9] |
XFree86-Misc | Reemplazado por las propiedades de entrada . Eliminado en X.Org 7.5. [9] |
DEC-XTRAP | Eliminado en X.Org 7.5. [9] |
TOG-CUP | Proporciona una política de utilización de mapas de colores. Eliminado en X.Org 7.5. [9] |
MIT-SUNDRY-NO ESTÁNDAR | Soporte para varias funciones de compatibilidad con versiones anteriores para clientes que utilizaron implementaciones tempranas de X11. Para compatibilidad con clientes anteriores a X11R4. Deshabilitado desde 2006. Eliminado en X.Org 7.5. [9] |
XC-APPGROUP | Eliminado en X.Org 7.5. [9] |
XPRINT | Obsoleto. Permite que una aplicación procese la salida en una impresora tal como lo haría en cualquier otro dispositivo de visualización. Eliminado en mayo de 2008. [10] |
Ver también
- Xlib
- Intrínsecos (Xt)
- Protocolo central del sistema X Window
- X descripción lógica de la fuente
Notas
- ^ Modelo cliente-servidor
- IBM 1994 , páginas 2 a 11
- Maguolo 2005
- Manrique 2001
- Stevens 1994 , págs. 430-433
- Quercia y O'Reilly 1993 , págs.13-17
- ^ Hopkins, Don (sin acreditar) (mayo de 1994). Garfinkel, Simson ; Weise, Daniel; Strassmann, Steven (eds.). El manual de los que odian a UNIX (PDF) . San Mateo, CA, EE.UU .: IDG Books . pag. 126 El desastre de X-Windows . ISBN 978-1-56884-203-5. OCLC 30681401 . Consultado el 11 de julio de 2011 .
El ICCCM es increíblemente denso, debe seguirse hasta la última letra y todavía no funciona. El cumplimiento de ICCCM es una de las pruebas más complejas de implementar kits de herramientas X, administradores de ventanas e incluso aplicaciones simples. Es tan difícil que muchos de los beneficios simplemente no merecen la molestia de cumplir.
- ^ Raymond, Eric S. (30 de septiembre de 2008). "El manual del enemigo de Unix, reconsiderado" . Armado y peligroso . Consultado el 11 de julio de 2011 .
ICCCM es tan horrible como lo describen los autores de [Unix Hater's Handbook], pero eso es difícil de notar en estos días porque los conjuntos de herramientas y los administradores de ventanas modernos hacen un buen trabajo al ocultar la fealdad de las aplicaciones.
- ^ Gettys, James ; Karlton, Philip L .; McGregor, Scott (10 de diciembre de 1990). "El sistema X Window, versión 11" (PDF) . Digital Equipment Corporation y Silicon Graphics Computer Systems . pag. 36 . Consultado el 11 de julio de 2011 .
X11 no permite la lectura de toda la información que pueda haber sido almacenada en el servidor (por ejemplo, el protocolo X11 no permite consultar el estado del GC). Esto hace que la modularidad sea algo más difícil de lograr.
- ^ "Biblioteca cliente X.org libXi para XInput" . Consultado el 2 de marzo de 2010 .
libXi - biblioteca para la extensión de entrada X
- ^ "Extensión XC-MISC" (PDF) . Archivado desde el original (PDF) el 27 de septiembre de 2011 . Consultado el 2 de agosto de 2010 .
- ^ "Especificación de extensión de seguridad" (PDF) . Archivado desde el original (PDF) el 27 de septiembre de 2011 . Consultado el 2 de agosto de 2010 .
- ^ Deshabilite las solicitudes XFree86-DGA excepto el movimiento relativo del mouse, hasta que Xinput 2 permita eliminarlo todo. Wiki de X.Org - Versiones / 7.6
- ^ a b c d e f 7.5 anuncio de lanzamiento
- ^ Comprometerse a eliminar XPrint
Referencias
- Manrique, Daniel (23 de mayo de 2001). "La arquitectura del sistema X Window: descripción general" . Descripción general de la arquitectura del sistema X Window CÓMO . El proyecto de documentación de Linux . Consultado el 13 de julio de 2011 .
- Maguolo, Filippo (16 de diciembre de 2005). "La Arquitectura de X-Window" . Lecciones en Linux . Mount Kisco, NY, EE.UU .: John F. Moore . Consultado el 13 de julio de 2011 .
- Stevens, W. Richard (1994). "Sistema de ventanas 30,5 X" (PDF) . TCP / IP ilustrado (PDF) . Serie informática profesional Addison-Wesley. 1, TheProtocols (1 ed.). Boston, MA, EE.UU .: Addison-Wesley . 30,5 X Window System . ISBN 978-0-201-63346-7. OCLC 246049781 . Consultado el 13 de julio de 2011 .
- IBM Corporation, International Technical Support Center (julio de 1994). "1.2 X Conceptos" (PDF) . TCP / IP para MVS, VM, OS / 2 y DOS: Guía del sistema X Window (PDF) . IBM Redbooks (segunda ed.). Research Triangle Park, Carolina del Norte, Estados Unidos: IBM . X Conceptos . Consultado el 13 de julio de 2011 .
- Quercia, Valerie; O'Reilly, Tim (1993) [1988]. Guía del usuario del sistema X Window: para la versión 5 de X11 . Guías definitivas del sistema X Window. 3 . Sebastopol, CA, EE.UU .: O'Reilly & Assoc. ISBN 978-1-56592-014-9. OCLC 682229836 . LCC QA76.76.W56 Q47 . Consultado el 14 de julio de 2011 . archive.org tiene la edición de 1990.
Otras lecturas
- Robert W. Scheifler y James Gettys: X Window System: Protocolos principales y de extensión, X versión 11, versiones 6 y 6.1 , Digital Press 1996, ISBN 978-1-55558-148-0
- "Introducción a las interfaces de usuario X11" . Archivado desde el original el 3 de enero de 2007.
- Introducción a X Windows [sic]
- Gettys, Jim (9 de diciembre de 2003). "Hoja de ruta de la tecnología de escritorio de código abierto" . Archivado desde el original el 2 de enero de 2006.
enlaces externos
- Fundación X.Org (página de inicio oficial)
- Wiki de la Fundación X.Org
- Partes internas del sistema X Window
- Páginas de Kenton Lee sobre X Window y Motif
- Tutorial de extensión X11