Articulo de referencia

Sistema X Window

"},"latest release version":{"wt":"{{wikidata |property|preferred|references|edit|Q178481|P348|P548=Q2804309}}"},"latest release date":{"wt":"{{Start date and age|{{wikidata |qu...

Página semiprotegida

El Sistema de Ventanas X ( X11 , o simplemente X ) es un sistema de ventanas para pantallas de mapa de bits , común en sistemas operativos tipo Unix . X se originó como parte del Proyecto Athena en el Instituto Tecnológico de Massachusetts (MIT) en 1984. [ 4 ] El protocolo X ha estado en la versión 11 (de ahí "X11") desde septiembre de 1987. La Fundación X.Org lidera el proyecto X, con la implementación de referencia actual, X.Org Server , disponible como software libre y de código abierto bajo la Licencia MIT y licencias permisivas similares.

Propósito y habilidades

X es un sistema independiente de la arquitectura para interfaces gráficas de usuario remotas y capacidades de dispositivos de entrada. Cada persona que utiliza un terminal en red puede interactuar con la pantalla mediante cualquier tipo de dispositivo de entrada.

La distribución estándar proporciona un conjunto de herramientas y una pila de protocolos estándar para crear interfaces gráficas de usuario en la mayoría de los sistemas operativos tipo Unix y OpenVMS , y se ha adaptado a muchos otros sistemas operativos contemporáneos de propósito general .

X proporciona la estructura básica , o primitivas, para construir entornos de interfaz gráfica de usuario (GUI): dibujar y mover ventanas en la pantalla e interactuar con un ratón, teclado o pantalla táctil. X no impone la interfaz de usuario ; los programas cliente se encargan de ello. Los programas pueden usar las capacidades gráficas de X sin interfaz de usuario. Por lo tanto, el estilo visual de los entornos basados ​​en X varía enormemente; diferentes programas pueden presentar interfaces radicalmente distintas.

A diferencia de la mayoría de los protocolos de visualización anteriores, X fue diseñado específicamente para usarse a través de conexiones de red en lugar de en un dispositivo de visualización integrado o conectado. X ofrece transparencia de red , lo que significa que un programa X que se ejecuta en una computadora en algún lugar de la red (como Internet) puede mostrar su interfaz de usuario en un servidor X que se ejecuta en otra computadora de la red. El servidor X suele ser el proveedor de recursos gráficos y eventos de teclado/ratón a los clientes X , lo que significa que el servidor X generalmente se ejecuta en la computadora frente al usuario, mientras que las aplicaciones cliente X se ejecutan en cualquier lugar de la red y se comunican con la computadora del usuario para solicitar la representación del contenido gráfico y recibir eventos de los dispositivos de entrada, incluidos teclados y ratones.

El hecho de que el término "servidor" se aplique al software que está frente al usuario suele sorprender a quienes están acostumbrados a que sus programas sean clientes de servicios en equipos remotos. En este caso, en lugar de que una base de datos remota sea el recurso para una aplicación local, la pantalla gráfica y los dispositivos de entrada del usuario se convierten en recursos que el servidor X local pone a disposición tanto de los programas cliente X locales como de los alojados remotamente, los cuales necesitan compartir la pantalla y los dispositivos de entrada del usuario para comunicarse con él.

El protocolo de red de X se basa en primitivas de comandos X. Este enfoque permite que tanto las operaciones 2D como (mediante extensiones como GLX) 3D realizadas por una aplicación cliente X que se ejecute en un equipo diferente se aceleren completamente en la pantalla del servidor X. Por ejemplo, en OpenGL clásico (antes de la versión 3.0), las listas de visualización con gran cantidad de objetos podían construirse y almacenarse completamente en el servidor X mediante un programa cliente X remoto, y luego renderizarse cada una enviando una única llamada a glCallList(which) a través de la red.

X no ofrece soporte nativo para audio; existen varios proyectos que cubren esta necesidad, algunos de los cuales también ofrecen soporte de red transparente .

Arquitectura de software

Ejemplo sencillo: el servidor X recibe la entrada de un teclado y un ratón locales y la muestra en una pantalla. Un navegador web y un emulador de terminal se ejecutan en la estación de trabajo del usuario, y otro emulador de terminal se ejecuta en un ordenador remoto, pero se controla y supervisa desde el equipo del usuario.

X utiliza un modelo cliente-servidor: un servidor X se comunica con varios programas cliente . [ 5 ] El servidor acepta solicitudes de salida gráfica (ventanas) y envía la entrada del usuario (desde el teclado, el ratón o la pantalla táctil). El servidor puede funcionar como:

  • una aplicación que se muestra en una ventana de otro sistema de visualización
  • un programa del sistema que controla la salida de vídeo de un PC
  • una pieza de hardware específica

Esta terminología cliente-servidor —donde el terminal del usuario es el servidor y las aplicaciones son los clientes— suele confundir a los nuevos usuarios de X, ya que los términos parecen invertidos. Sin embargo, X adopta la perspectiva de la aplicación, en lugar de la del usuario final: X proporciona servicios de visualización y entrada/salida a las aplicaciones, por lo que actúa como servidor; las aplicaciones utilizan estos servicios, por lo que son clientes.  

El protocolo de comunicación entre el servidor y el cliente funciona de forma transparente a la red: el cliente y el servidor pueden ejecutarse en la misma máquina o en máquinas diferentes, posiblemente con arquitecturas y sistemas operativos distintos. Un cliente y un servidor pueden incluso comunicarse de forma segura a través de Internet mediante la tunelización de la conexión a través de una sesión de red cifrada.

Un cliente X puede emular un servidor X proporcionando servicios de visualización a otros clientes. Esto se conoce como "anidamiento X". Clientes de código abierto como Xnest y Xephyr admiten este tipo de anidamiento X. [ 6 ]

Escritorio remoto

Para ejecutar una aplicación cliente X en una máquina remota, el usuario puede hacer lo siguiente:

  • En la máquina local, abre una ventana de terminal.
  • Utilice ssh -Xel comando para conectarse a la máquina remota.
  • solicitar un servicio de entrada/visualización local (por ejemplo, si no se utiliza SSH con el reenvío X habilitado)export DISPLAY=[user's machine]:0

La aplicación cliente X remota establecerá entonces una conexión con el servidor X local del usuario, proporcionándole visualización y entrada de datos.

Como alternativa, la máquina local puede ejecutar un pequeño programa que se conecta a la máquina remota e inicia la aplicación cliente.

Algunos ejemplos prácticos de clientes remotos son:

  • Administrar una máquina remota gráficamente (similar a usar el escritorio remoto, pero con ventanas individuales).
  • Utilizar una aplicación cliente para unirse a un gran número de otros usuarios de terminales en grupos de trabajo colaborativos.
  • ejecutar una simulación computacionalmente intensiva en una máquina remota y mostrar los resultados en una máquina de escritorio local.
  • Ejecutar software gráfico en varias máquinas a la vez, controladas por una sola pantalla, teclado y ratón.

Interfaces de usuario

Interfaz gráfica de usuario GNOME
Interfaz gráfica de usuario Xfce

X define principalmente protocolos y primitivas gráficas ; deliberadamente no incluye especificaciones para el diseño de la interfaz de usuario de la aplicación, como estilos de botones, menús o barras de título de ventanas. [ 7 ] En cambio, el software de aplicación —como gestores de ventanas, kits de herramientas de widgets de GUI y entornos de escritorio, o interfaces gráficas de usuario específicas de la aplicación— define y proporciona dichos detalles. Como resultado, no existe una interfaz X típica y varios entornos de escritorio diferentes se han popularizado entre los usuarios.   

Un gestor de ventanas controla la ubicación y apariencia de las ventanas de las aplicaciones. Esto puede dar lugar a interfaces de escritorio que recuerdan a las de Microsoft Windows o Apple Macintosh (por ejemplo, GNOME 2, KDE Plasma, Xfce) o a controles radicalmente diferentes (como un gestor de ventanas en mosaico, como wmii o Ratpoison ). Algunas interfaces, como Sugar o ChromeOS, prescinden por completo de la metáfora del escritorio, simplificando sus interfaces para aplicaciones especializadas. Los gestores de ventanas varían en sofisticación y complejidad, desde los más básicos ( por ejemplo , twm, el gestor de ventanas básico que viene con X, o evilwm, un gestor de ventanas extremadamente ligero) hasta entornos de escritorio más completos como Enlightenment e incluso gestores de ventanas específicos para aplicaciones en mercados verticales como el punto de venta.

Muchos usuarios utilizan X con un entorno de escritorio que, además del gestor de ventanas, incluye diversas aplicaciones con una interfaz de usuario uniforme. Entre los entornos de escritorio más populares se encuentran GNOME , KDE Plasma y Xfce . El entorno estándar de UNIX 98 es el Entorno de Escritorio Común (CDE). La iniciativa freedesktop.org aborda la interoperabilidad entre los escritorios y los componentes necesarios para un escritorio X competitivo.

Implementaciones

La implementación de X.Org es la implementación canónica de X. Gracias a su licencia permisiva, han surgido diversas variantes, tanto de software libre y de código abierto (FOSS) como propietarias. Los proveedores comerciales de Unix suelen tomar la implementación de referencia y adaptarla a su hardware, personalizándola y añadiéndole extensiones propietarias.

Hasta 2004, XFree86 era la variante de X más común en sistemas libres tipo Unix. XFree86 comenzó como una adaptación de X para PC compatibles con 386 y, a finales de la década de 1990, se había convertido en la principal fuente de innovación técnica en X y en el estándar de facto para su desarrollo. Sin embargo, desde 2004, el servidor X.Org, una bifurcación de XFree86, se ha vuelto predominante.

Si bien es común asociar X con Unix, los servidores X también existen de forma nativa en otros entornos gráficos. El sistema operativo OpenVMS de VMS Software Inc. incluye una versión de X con Common Desktop Environment (CDE), conocida como DECwindows, como su entorno de escritorio estándar. Apple originalmente adaptó X a macOS en forma de X11.app, pero esta ha sido descontinuada en favor de la implementación XQuartz . Entre los servidores de terceros para los sistemas operativos más antiguos de Apple en la década de 1990, System 7 y Mac OS 8 y 9, se encontraban MacX de Apple y eXodus de White Pine Software.

Microsoft Windows no incluye soporte para X, pero existen muchas implementaciones de terceros, como software libre y de código abierto como Cygwin/X , y productos propietarios como Exceed, MKS X/Server, Reflection X, X-Win32 y Xming .

También existen implementaciones de servidores X en Java. WeirdX funciona en cualquier plataforma compatible con Swing 1.1 y se ejecuta como un applet en la mayoría de los navegadores. El servidor X de Android es una implementación de código abierto en Java que se ejecuta en dispositivos Android.

Cuando un sistema operativo con un sistema de ventanas nativo aloja X, el sistema X puede usar su propio escritorio normal en una ventana de host separada o puede ejecutarse sin privilegios de administrador , lo que significa que el escritorio X está oculto y el entorno de ventanas del host gestiona la geometría y la apariencia de las ventanas X alojadas dentro de la pantalla del host.

Terminales X

Un terminal X es un cliente ligero que solo ejecuta un servidor X. Esta arquitectura se popularizó para crear parques de terminales económicos que permitieran a muchos usuarios utilizar simultáneamente el mismo servidor para ejecutar programas como clientes de sus terminales X. Este uso se ajusta plenamente a la intención original del proyecto del MIT.

Los terminales X exploran la red (el dominio de difusión local ) utilizando el Protocolo de Control del Administrador de Pantallas X para generar una lista de hosts disponibles que pueden actuar como clientes. Uno de los hosts clientes debe ejecutar un administrador de pantallas X.

Una limitación de los terminales X y la mayoría de los clientes ligeros es que no admiten ninguna entrada ni salida de datos más allá del teclado, el ratón y la pantalla. Se presupone que todos los datos relevantes residen exclusivamente en el servidor remoto, y el usuario del terminal X no dispone de métodos para guardar o cargar datos desde un dispositivo periférico local .

Los terminales X dedicados (de hardware) han caído en desuso; un PC o un cliente ligero moderno con un servidor X suele proporcionar la misma funcionalidad al mismo coste, o incluso a un coste inferior.

Limitaciones y críticas

El Manual de los Detractores de Unix (1994) dedicó un capítulo completo a los problemas de X. [ 8 ] Por qué X no es nuestro sistema de ventanas ideal (1990) de Gajewska, Manasse y McCormack detalló los problemas del protocolo con recomendaciones para su mejora.

Problemas de interfaz de usuario

La falta de directrices de diseño en X ha dado lugar a varias interfaces muy diferentes y a aplicaciones que no siempre han funcionado bien juntas. El Manual de Convenciones de Comunicación entre Clientes (ICCCM), una especificación para la interoperabilidad de clientes, tiene fama de ser difícil de implementar correctamente. Otros esfuerzos de estandarización, como Motif y CDE, no aliviaron los problemas. Esto ha frustrado a usuarios y programadores. [ 9 ] Los programadores de gráficos ahora suelen abordar la coherencia de la apariencia y la comunicación de las aplicaciones codificando para un entorno de escritorio específico o para un conjunto de herramientas de widgets específico, lo que también evita tener que lidiar directamente con el ICCCM.

X tampoco ofrece soporte nativo para procedimientos almacenados definidos por el usuario en el servidor X, a diferencia de NeWS ; no dispone de una herramienta de scripting Turing-completa . Por lo tanto, los distintos entornos de escritorio pueden ofrecer sus propias funcionalidades (generalmente incompatibles entre sí). 

Los sistemas basados ​​en X pueden presentar problemas de accesibilidad que dificultan el uso del ordenador para usuarios con discapacidad, como el clic derecho , el doble clic , el clic central , el desplazamiento del ratón y el robo de foco . Algunos clientes de X11 gestionan mejor los problemas de accesibilidad que otros, por lo que las personas con dificultades de accesibilidad no quedan excluidas del uso de X11. Sin embargo, no existe un estándar ni directrices de accesibilidad para X11. Dentro del proceso de estandarización de X11 no hay un grupo de trabajo sobre accesibilidad; no obstante, los proyectos de software están abordando las necesidades de accesibilidad para proporcionar estas funcionalidades sobre X.

El proyecto Orca añade soporte de accesibilidad al sistema X Window, incluyendo la implementación de una API ( AT-SPI [ 10 ] ). Esto se combina con ATK de GNOME para permitir que las funciones de accesibilidad se implementen en programas X utilizando las API de GNOME/GTK. [ 11 ] KDE proporciona un conjunto diferente de software de accesibilidad, incluyendo un convertidor de texto a voz y un magnificador de pantalla. [ 12 ] Los otros escritorios principales (LXDE, Xfce y Enlightenment) intentan ser compatibles con ATK.

Red

Ejemplo de tunelización de una aplicación X11 a través de SSH

Un cliente X generalmente no puede desconectarse de un servidor y conectarse a otro a menos que su código lo permita específicamente ( Emacs es uno de los pocos programas comunes con esta capacidad). Por lo tanto, generalmente no es posible mover una sesión completa de un servidor X a otro. Sin embargo, enfoques como Virtual Network Computing (VNC), NX y Xpra permiten acceder a una sesión virtual desde diferentes servidores X (de manera similar a GNU Screen en relación con las terminales), y otras aplicaciones y conjuntos de herramientas proporcionan funcionalidades relacionadas. [ 13 ] También existen soluciones alternativas como x11vnc ( visores VNC :0 ), el modo sombra de Xpra y el modo sombra nxagent de NX para que la pantalla del servidor X actual esté disponible. Esta capacidad permite cambiar la interfaz de usuario (ratón, teclado, monitor) de una aplicación en ejecución de una ubicación a otra sin detener y reiniciar la aplicación.

El tráfico de red entre un servidor X y clientes X remotos no está cifrado por defecto. Un atacante con un analizador de paquetes puede interceptarlo, lo que le permite ver todo lo que se muestra o se envía desde la pantalla del usuario. La forma más común de cifrar el tráfico X es establecer un túnel SSH ( Secure Shell ) para la comunicación.

Como ocurre con todos los clientes ligeros , al usar X en una red, las limitaciones de ancho de banda pueden dificultar el uso de aplicaciones con uso intensivo de mapas de bits que requieren actualizar rápidamente grandes secciones de la pantalla con baja latencia, como la animación 3D o la edición de fotos. Incluso una transmisión de vídeo relativamente pequeña sin comprimir de 640 × 480 × 24  bits a 30 fps (~211 Mbit/s) puede superar fácilmente el ancho de banda de una red de 100 Mbit/s para un solo cliente. En cambio, las versiones modernas de X suelen tener extensiones como Mesa que permiten optimizar la visualización local de los gráficos de un programa local para evitar el modelo de red y controlar directamente la tarjeta gráfica, para su uso con vídeo a pantalla completa, aplicaciones 3D renderizadas y otras aplicaciones similares.   

Separación cliente-servidor

El diseño de X requiere que los clientes y el servidor operen por separado, y la independencia del dispositivo y la separación del cliente y el servidor generan sobrecarga. La mayor parte de la sobrecarga proviene del tiempo de retardo de ida y vuelta de la red entre el cliente y el servidor ( latencia ) más que del protocolo en sí: las mejores soluciones a los problemas de rendimiento dependen de un diseño de aplicación eficiente. [ 14 ] Una crítica común a X es que sus características de red resultan en una complejidad excesiva y un rendimiento reducido si solo se usan localmente.

Las implementaciones modernas de X utilizan sockets de dominio Unix para conexiones eficientes en el mismo host. Además, se puede emplear memoria compartida (mediante la extensión MIT-SHM ) para una comunicación cliente-servidor más rápida. [ 15 ] Sin embargo, el programador debe activar y utilizar explícitamente la extensión de memoria compartida. También es necesario proporcionar rutas alternativas para mantener la compatibilidad con implementaciones anteriores y para comunicarse con servidores X no locales.

Seguridad

Falta de entorno aislado

El diseño de X carece de aislamiento (sandboxing) , por lo que cualquier aplicación puede acceder y manipular el contenido del teclado, el ratón, la pantalla y el portapapeles.

Escalada de privilegios

Los sistemas mal configurados pueden ejecutar X11 como root, lo que permite la escalada de privilegios ; en el pasado, esto fue explotado por aplicaciones sin privilegios para obtener privilegios. [ 16 ] [ 17 ]

Competidores

Algunas personas han intentado escribir alternativas y reemplazos para X. Entre las alternativas históricas se incluyen NeWS de Sun y Display PostScript de NeXT , ambos sistemas basados ​​en PostScript que admiten procedimientos de visualización definibles por el usuario, de los que carecía X. Las alternativas actuales incluyen:

  • macOS (y su contraparte móvil, iOS ) implementa su sistema de ventanas, conocido como Quartz . Cuando Apple Computer compró NeXT y utilizó NeXTSTEP para construir Mac OS X, reemplazó Display PostScript con Quartz. Mike Paquette, uno de los autores de Quartz, explicó que si Apple hubiera añadido soporte para todas las características que quería incluir en X11, este no se parecería mucho a X11 ni sería compatible con otros servidores. [ 18 ]
  • El protocolo Wayland está siendo desarrollado por varios desarrolladores de X.Org como reemplazo (con los compositores Wayland ) para X. Funciona directamente con el hardware de la GPU , a través de DRI . Los compositores Wayland pueden usar XWayland , un servidor X que puede ser sin privilegios de administrador. [ 19 ] El proyecto alcanzó la versión 1.0 en 2012. Al igual que Android, Wayland se basa en EGL .
  • Mir fue un proyecto de Canonical Ltd. con objetivos similares a Wayland. [ 20 ] Mir estaba diseñado para funcionar con dispositivos móviles que utilizaban chipsets ARM (un objetivo declarado era la compatibilidad con los controladores de dispositivos Android), así como con ordenadores de escritorio x86. Al igual que Android, Mir/UnityNext se basaban en EGL. La retrocompatibilidad con aplicaciones cliente X se logró mediante Xmir. Desde entonces, el proyecto ha evolucionado para ser un compositor de Wayland en lugar de un servidor de visualización alternativo . [ 21 ]
  • Otras alternativas intentan evitar la sobrecarga de X trabajando directamente con el hardware; entre estos proyectos se incluye DirectFB . [ 22 ] La infraestructura de renderizado directo (DRI) proporciona una interfaz a nivel de kernel para el framebuffer .

Otras formas de lograr una forma funcional de la característica de "transparencia de red" de X, a través de la transmisibilidad de red de los servicios gráficos, incluyen:

  • Virtual Network Computing (VNC), un sistema de muy bajo nivel que envía mapas de bits comprimidos a través de la red; la implementación de Unix incluye un servidor X.
  • El Protocolo de Escritorio Remoto (RDP), similar a VNC en su propósito, se originó en Microsoft Windows antes de ser adaptado a sistemas tipo Unix, por ejemplo, NX.
  • Citrix XenApp , un protocolo y pila de aplicaciones similar a X para Microsoft Windows.
  • Tarantella , que proporciona un cliente GUI remoto basado en Java para su uso en navegadores web.

Historia

Antecesores

Varios sistemas de visualización de mapas de bits precedieron a X. De Xerox surgieron el Alto (1973) y el Star (1981). De Apollo Computer surgió Display Manager (1981). De Apple surgieron el Lisa (1983) y el Macintosh (1984). El mundo Unix contaba con el Proyecto Andrew (1982) y el terminal Blit de Rob Pike (1982).

La Universidad Carnegie Mellon desarrolló una aplicación de acceso remoto llamada Alto Terminal, que mostraba ventanas superpuestas en el Xerox Alto y hacía que los hosts remotos (normalmente sistemas DEC VAX que ejecutaban Unix) se encargaran de gestionar los eventos de visualización de ventanas y de actualizar el contenido de las mismas según fuera necesario.

X debe su nombre a que es sucesor de un sistema de ventanas anterior a 1983 llamado W (la letra que precede a la X en el alfabeto inglés ). W se ejecutaba bajo el sistema operativo V. W utilizaba un protocolo de red que admitía ventanas de terminal y gráficas, y el servidor mantenía las listas de visualización.

Origen y desarrollo inicial

De: rws@mit-bold (Robert W. Scheifler) Para: window@athena Asunto: Sistema de ventanas X Fecha: 19 de junio de 1984 09:07-EDT (martes) He pasado las últimas dos semanas escribiendo una ventana Sistema para el VS100. Robé bastante código. desde W, lo rodeó con un bastante asíncrono que una interfaz síncrona, y la llamó X. En general El rendimiento parece ser aproximadamente el doble que el de W. El código parece bastante sólido en este punto, aunque hay Aún quedan algunas deficiencias por corregir. En LCS hemos dejado de usar W y ahora estamos Desarrollando activamente aplicaciones en X. ¿Alguien más está usando? W debería considerar seriamente cambiar. Esto no es el sistema de ventanas definitivo, pero creo que es bueno Punto de partida para la experimentación. Justo ahora Hay una interfaz CLU (y una Argus) para X; una C La interfaz está en desarrollo. Los tres existentes Las aplicaciones son un editor de texto (TED), un Argus I/O interfaz y un gestor de ventanas primitivo. Hay aún no hay documentación; cualquiera lo suficientemente loco como para ¿Voluntariado? Quizás lo haga algún día. Cualquier persona interesada en ver una demostración puede pasarse por aquí. NE43-531, aunque quizás prefiera llamar al 3-1945. Primero. Cualquiera que quiera el código puede venir con un cinta. Cualquiera interesado en deficiencias de pirateo, sienta No dudes en ponerte en contacto. 
El correo electrónico en el que X fue presentado a la comunidad del Proyecto Athena en el MIT en junio de 1984 [ 1 ]
X11R1 funcionando en una máquina Sun

La idea original de X surgió en el MIT en 1984 como una colaboración entre Jim Gettys (del Proyecto Athena ) y Bob Scheifler (del Laboratorio de Ciencias de la Computación del MIT ). Scheifler necesitaba un entorno de visualización utilizable para depurar el sistema Argus. El Proyecto Athena (un proyecto conjunto entre DEC , el MIT e IBM para facilitar el acceso a los recursos informáticos a todos los estudiantes) necesitaba un sistema gráfico independiente de la plataforma para conectar sus sistemas heterogéneos de múltiples proveedores; el sistema de ventanas que se estaba desarrollando entonces en el Proyecto Andrew de la Universidad Carnegie Mellon no ofrecía licencias, y no existían alternativas.

El proyecto solucionó este problema creando un protocolo que permitía ejecutar aplicaciones locales y acceder a recursos remotos. A mediados de 1983, una primera versión de W para Unix funcionaba a una quinta parte de su velocidad en V; en mayo de 1984, Scheifler reemplazó el protocolo síncrono de W por uno asíncrono y las listas de visualización por gráficos en modo inmediato para crear X versión 1. X se convirtió en el primer entorno de sistema de ventanas que ofrecía verdadera independencia de hardware e independencia del proveedor.

Scheifler, Gettys y Ron Newman se pusieron manos a la obra y X progresó rápidamente. Lanzaron la versión 6 en enero de 1985. DEC, que por entonces se preparaba para lanzar su primera estación de trabajo Ultrix , consideró que X era el único sistema de ventanas que probablemente estaría disponible a tiempo. Los ingenieros de DEC adaptaron X6 a la pantalla QVSS de DEC en MicroVAX .

En el segundo trimestre de 1985, X adquirió soporte para color para funcionar en la DEC VAXstation -II/GPX, dando lugar a lo que se convertiría en la versión 9.

Un grupo de la Universidad de Brown adaptó la versión 9 al IBM RT PC , pero los problemas con la lectura de datos no alineados en el RT obligaron a un cambio de protocolo incompatible, lo que llevó a la versión 10 a finales de 1985. X10R1 se lanzó en 1985. [ 23 ] Para 1986, organizaciones externas habían comenzado a solicitar X. X10R2 se lanzó en enero de 1986, y luego X10R3 en febrero de 1986. Aunque el MIT había licenciado X6 a algunos grupos externos por una tarifa, decidió en ese momento licenciar X10R3 y versiones futuras bajo lo que se conoció como la Licencia MIT , con la intención de popularizar X aún más y, a cambio, esperando que muchas más aplicaciones estuvieran disponibles. X10R3 se convirtió en la primera versión en lograr una amplia implementación, con DEC y Hewlett-Packard lanzando productos basados ​​en ella. Otros grupos adaptaron X10 a Apollo y a estaciones de trabajo Sun e incluso al IBM PC/AT . En aquella época, durante la feria Autofact, se realizaron demostraciones de la primera aplicación comercial de X (un sistema de ingeniería mecánica asistida por ordenador de Cognition Inc. que funcionaba en VAX y se visualizaba remotamente en PC con un servidor X adaptado por Jim Fulton y Jan Hardenbergh). La última versión de X10, X10R4, apareció en diciembre de 1986. Se intentó habilitar los servidores X como dispositivos de colaboración en tiempo real, de forma similar a como la Computación de Red Virtual (VNC) permitiría más tarde compartir un escritorio. Uno de estos primeros intentos fue la herramienta SharedX de Philip J. Gust .

Aunque X10 ofrecía una funcionalidad interesante y potente, se hizo evidente que el protocolo X necesitaba un rediseño más independiente del hardware antes de su implementación generalizada, pero el MIT por sí solo no disponía de los recursos necesarios para un rediseño tan completo. Casualmente, el Laboratorio de Software Occidental de DEC se encontraba entre proyectos con un equipo experimentado. Smokey Wallace, de DEC WSL, y Jim Gettys propusieron que DEC WSL desarrollara X11 y lo pusiera a disposición del público de forma gratuita bajo las mismas condiciones que X9 y X10. Este proceso comenzó en mayo de 1986, y el protocolo se finalizó en agosto. Las pruebas alfa del software comenzaron en febrero de 1987, las pruebas beta en mayo; el lanzamiento de X11 tuvo lugar finalmente el 15 de septiembre de 1987. [ 24 ]

El diseño del protocolo X11, liderado por Scheifler, se debatió ampliamente en listas de correo abiertas de la incipiente Internet, conectadas a los grupos de noticias de USENET. Gettys se trasladó a California para colaborar en el desarrollo de X11 en WSL, procedente del Centro de Investigación de Sistemas de DEC, donde Phil Karlton y Susan Angebrandt dirigieron el diseño e implementación del servidor de ejemplo X11. Por lo tanto, X representa uno de los primeros proyectos de software libre y de código abierto distribuidos a gran escala .

El Consorcio X del MIT y el Consorcio X, Inc.

A finales de la década de 1980, X era "el logro individual más importante de Athena hasta la fecha", como escribió Simson Garfinkel en 1989. Según se informa, DEC creía que su desarrollo por sí solo había justificado la donación de la compañía al MIT. Gettys se unió al equipo de diseño de la VAXstation 2000 para asegurar que X, que DEC denominó DECwindows , funcionara en ella, y la compañía asignó 1200 empleados para portar X tanto a Ultrix como a VMS. [ 25 ] [ 26 ] En 1990, IBM y Motorola anunciaron sus propios terminales X. Bill Joy, de Sun Microsystems , que fabricaba estaciones de trabajo sin disco que competían con los terminales X, argumentó que X tenía fallos técnicos y podía saturar las redes. [ 27 ]

En 1987, con el éxito de X11 ya evidente, el MIT deseaba ceder la gestión de X, pero en una reunión celebrada en junio de ese mismo año con nueve proveedores, estos manifestaron al MIT su convicción de que era necesaria una entidad neutral para evitar la fragmentación de X en el mercado. En enero de 1988, se formó el Consorcio MIT X como un grupo de proveedores sin ánimo de lucro, con Scheifler como director, para dirigir el desarrollo futuro de X en un entorno neutral que incluyera intereses comerciales y educativos.

Jim Fulton se unió en enero de 1988 y Keith Packard en marzo de 1988 como desarrolladores sénior . Jim se centró en Xlib , fuentes , gestores de ventanas y utilidades, mientras que Keith reimplementó el servidor. Donna Converse, Chris D. Peterson y Stephen Gildea se unieron más tarde ese mismo año, centrándose en kits de herramientas y conjuntos de widgets, trabajando en estrecha colaboración con Ralph Swick del Proyecto Athena del MIT. El Consorcio X del MIT produjo varias revisiones significativas de X11, la primera (Versión 2 X11R2) en febrero de 1988. Jay Hersh se unió al equipo en enero de 1991 para trabajar en la funcionalidad PEX y X113D. Poco después se unieron Ralph Mor (quien también trabajó en PEX) y Dave Sternlicht. En 1993, cuando el Consorcio X del MIT se preparaba para separarse del MIT, se unieron al equipo R. Gary Cutbill, Kaleb Keithley y David Wiggins. [ 28 ] 

Entorno de escritorio común

En 1993, se formó el X Consortium, Inc. (una corporación sin fines de lucro) como sucesor del MIT X Consortium. Lanzó X11R6 el 16 de mayo de 1994. En 1995 asumió el desarrollo del conjunto de herramientas Motif y del Entorno de Escritorio Común para sistemas Unix. El X Consortium se disolvió a finales de 1996, produciendo una revisión final, X11R6.3, y un legado de creciente influencia comercial en el desarrollo. [ 29 ] [ 30 ]

El Grupo Abierto

En enero de 1997, el Consorcio X cedió la gestión de X a The Open Group , un grupo de proveedores formado a principios de 1996 mediante la fusión de la Open Software Foundation y X/Open .

The Open Group lanzó X11R6.4 a principios de 1998. De manera controvertida, X11R6.4 se apartó de los términos de licencia liberales tradicionales, ya que The Open Group buscaba asegurar la financiación para el desarrollo de X, y citó específicamente a XFree86 como no contribuyendo significativamente a X. [ 31 ] Los nuevos términos habrían hecho que X dejara de ser software libre : cero costo para uso no comercial, pero una tarifa en otros casos. Después de que XFree86 parecía estar a punto de bifurcarse , [ 32 ] The Open Group volvió a licenciar X11R6.4 bajo la licencia tradicional en septiembre de 1998. [ 33 ] El último lanzamiento de The Open Group fue X11R6.4 parche 3.

X.Org y XFree86

XFree86 se originó en 1992 a partir del servidor X386 para PC compatibles con IBM , incluido con X11R5 en 1991, escrito por Thomas Roell y Mark W. Snitily y donado al Consorcio X del MIT por Snitily Graphics Consulting Services (SGCS). Con el tiempo, XFree86 evolucionó desde una simple adaptación de X hasta convertirse en la implementación líder y más popular, y en el estándar de facto para el desarrollo de X. [ 34 ]

En mayo de 1999, The Open Group formó X.Org. X.Org supervisó el lanzamiento de las versiones X11R6.5.1 en adelante. El desarrollo de X en ese momento se había vuelto moribundo; [ 35 ] la mayor parte de la innovación técnica desde que el Consorcio X se había disuelto había tenido lugar en el proyecto XFree86. [ 36 ] En 1999, el equipo de XFree86 se unió a X.Org como miembro honorario (no remunerado), [ 37 ] alentado por varias compañías de hardware [ 38 ] interesadas en usar XFree86 con Linux y en su estatus como la versión más popular de X.

Para 2003, mientras la popularidad de Linux (y por lo tanto la base instalada de X) aumentaba vertiginosamente, X.Org permaneció inactivo, [ 39 ] y el desarrollo activo se llevó a cabo principalmente dentro de XFree86. Sin embargo, se desarrolló una considerable disidencia dentro de XFree86. El proyecto XFree86 sufría de la percepción de un modelo de desarrollo demasiado rígido ; los desarrolladores no podían obtener acceso de confirmación de CVS [ 40 ] [ 41 ] y los proveedores tenían que mantener conjuntos de parches extensos . [ 42 ] En marzo de 2003, la organización XFree86 expulsó a Keith Packard, quien se había unido a XFree86 después del fin del Consorcio X del MIT original, con considerable resentimiento. [ 43 ] [ 44 ] [ 45 ]

X.Org y XFree86 comenzaron a discutir una reorganización adecuada para fomentar el desarrollo de X. [ 46 ] [ 47 ] [ 48 ] Jim Gettys había estado impulsando con fuerza un modelo de desarrollo abierto desde al menos el año 2000. [ 49 ] Gettys, Packard y varios otros comenzaron a discutir en detalle los requisitos para la gobernanza efectiva de X con desarrollo abierto.

Finalmente, en un eco de la disputa de licencias de X11R6.4, XFree86 lanzó la versión 4.4 en febrero de 2004 bajo una licencia más restrictiva que muchos proyectos que dependían de X consideraron inaceptable. [ 50 ] La cláusula añadida a la licencia se basó en la cláusula publicitaria de la licencia BSD original, que la Free Software Foundation y Debian consideraron incompatible con la Licencia Pública General de GNU . [ 51 ] Otros grupos la vieron como contraria al espíritu del X original. Theo de Raadt de OpenBSD , por ejemplo, amenazó con bifurcar XFree86 citando preocupaciones sobre la licencia. [ 52 ] El problema de la licencia, combinado con las dificultades para introducir cambios, hizo que muchos sintieran que era el momento oportuno para una bifurcación. [ 53 ]

La Fundación X.Org

A principios de 2004, varias personas de X.Org y freedesktop.org formaron la Fundación X.Org , y The Open Group le cedió el control del x.orgdominio . Esto marcó un cambio radical en la gobernanza de X. Mientras que los administradores de X desde 1988 (incluida la anterior X.Org) habían sido organizaciones proveedoras, la Fundación estaba liderada por desarrolladores de software y utilizaba un modelo de desarrollo comunitario basado en el modelo de bazar , que depende de la participación externa. La membresía estaba abierta a particulares, y la membresía corporativa se realizaba mediante patrocinio. Varias grandes corporaciones, como Hewlett-Packard, apoyan actualmente a la Fundación X.Org.

La Fundación ejerce un papel de supervisión sobre el desarrollo de X: las decisiones técnicas se toman en función de sus méritos, alcanzando un consenso general entre los miembros de la comunidad. Las decisiones técnicas no las toma la junta directiva; en este sentido, se inspira en gran medida en la Fundación GNOME , que no interviene en el desarrollo técnico . La Fundación no emplea desarrolladores. La Fundación lanzó X11R6.7, el servidor X.Org , en abril de 2004, basado en XFree86 4.4RC2 con los cambios de X11R6.6 incorporados. Gettys y Packard habían adoptado la última versión de XFree86 bajo la antigua licencia y, al apostar por un modelo de desarrollo abierto y mantener la compatibilidad con la GPL, atrajeron a muchos de los antiguos desarrolladores de XFree86. [ 51 ]

Aunque X11 había recibido extensiones como la compatibilidad con OpenGL durante la década de 1990, su arquitectura se mantuvo fundamentalmente sin cambios durante esa década. Sin embargo, a principios de la década de 2000, se revisó para resolver una serie de problemas que habían surgido a lo largo de los años, incluyendo una arquitectura de fuentes "defectuosa" , un sistema de gráficos 2D "que siempre había sido concebido para ser ampliado y/o reemplazado", y problemas de latencia . [ 54 ] X11R6.8 salió en septiembre de 2004. Añadió nuevas características significativas, incluyendo soporte preliminar para ventanas translúcidas y otros efectos visuales sofisticados, lupas de pantalla y miniaturas, y facilidades para integrarse con sistemas de visualización inmersiva 3D como Project Looking Glass de Sun y el proyecto Croquet . Las aplicaciones externas llamadas gestores de ventanas de composición proporcionan políticas para la apariencia visual.

El 21 de diciembre de 2005, [ 55 ] X.Org publicó X11R6.9, el árbol de código fuente monolítico para usuarios heredados, y X11R7.0, el mismo código fuente separado en módulos independientes, cada uno mantenible en proyectos separados. [ 56 ] La Fundación publicó X11R7.1 el 22 de mayo de 2006, aproximadamente cuatro meses después de la versión 7.0, con mejoras de características considerables. [ 57 ]

El desarrollo de XFree86 continuó durante algunos años más, y la versión 4.8.0 se lanzó el 15 de diciembre de 2008. [ 58 ]

Nomenclatura

Los nombres correctos para el sistema se enumeran en la página del manual como X; Sistema de ventanas X; X Versión 11; Sistema de ventanas X, Versión 11; o X11. [ 59 ]

El término "X-Windows" (al estilo del "Microsoft Windows" lanzado posteriormente) no cuenta con respaldo oficial ; el director de lanzamientos del Consorcio X, Matt Landau, declaró en 1993: "No existe tal cosa como 'X Windows' o 'X Window', a pesar del uso indebido reiterado de estas formas por parte de las revistas especializadas" [ 60 ] , aunque se ha utilizado de manera informal desde los inicios de la historia de X [ 61 ] y se ha empleado deliberadamente con fines provocativos, por ejemplo, en el Manual de los Detractores de Unix [ 8 ] .  

Términos clave

El sistema X Window utiliza una serie de términos con matices en comparación con el uso común, en particular "display" y "screen", un subconjunto de los cuales se ofrece aquí para mayor comodidad:

dispositivo
Un dispositivo gráfico, como por ejemplo una tarjeta gráfica de ordenador o el chipset gráfico integrado de la placa base de un ordenador.
monitor
Un dispositivo físico como un monitor CRT o una pantalla plana de ordenador.
pantalla
Área donde se pueden renderizar gráficos, ya sea mediante software en la memoria del sistema, como con VNC , o dentro de un dispositivo gráfico. Algunos dispositivos pueden renderizar en más de una pantalla simultáneamente, ya sea visualizándolas al mismo tiempo o de forma intercambiable. Las pantallas intercambiables suelen estar configuradas como una a la izquierda y otra a la derecha, alternando entre ellas cuando el puntero del ratón llega al borde del monitor.
pantalla virtual
Este término tiene dos significados diferentes:
  • Una técnica que permite desplazar la pantalla del monitor por una pantalla que muestra una resolución mayor que la que muestra actualmente el monitor.
  • Un efecto simulado por un gestor de ventanas mediante el mantenimiento de información sobre la posición de las ventanas en un sistema de coordenadas mayor que el de la pantalla, lo que permite el desplazamiento simplemente moviendo las ventanas en respuesta al usuario.
mostrar
Un conjunto de pantallas, a menudo con varios monitores, generalmente configurado para permitir que el ratón mueva el puntero a cualquier posición dentro de ellas. Las estaciones de trabajo basadas en Linux suelen tener capacidad para múltiples pantallas, entre las que el usuario puede alternar con una combinación de teclas especial como Control+Alt+ Tecla de función , cambiando simultáneamente la visualización de todos los monitores, desde las pantallas de un monitor hasta las de otro.

El término "pantalla" no debe confundirse con la jerga más especializada " pantalla Zaphod ". Esta última es una configuración poco común que permite que varios usuarios de un mismo ordenador dispongan cada uno de un conjunto independiente de pantalla, ratón y teclado, como si utilizaran ordenadores separados, pero a un menor coste por usuario.

Historial de lanzamientos

Sobre la perspectiva de futuras versiones, el sitio web X.org afirma: [ 79 ]

X.Org continúa desarrollando y publicando los componentes de software del sistema X Window.

Estos componentes se publican individualmente a medida que están listos, sin esperar a un calendario de lanzamiento general del sistema X Window "katamari". Consulte el directorio de lanzamientos individuales de X.Org para descargarlos, y los archivos xorg-announce o los repositorios git para obtener detalles sobre los cambios incluidos.

No se ha propuesto ningún plan de lanzamiento para una versión acumulativa de Katamari para X11R7.8.

Véase también

Notas

  1. 1 2 Robert W. Scheifler (19 de junio de 1984). "window system X" . window@athena (Lista de correo) . Consultado el 7 de noviembre de 2012 .
  2. "7.7" . Consultado el 5 de abril de 2024 .
  3. "X11R7.x - Sistema X Window Versión 11 Release 7.x en desarrollo continuo" . Consultado el 5 de abril de 2024 .
  4. Steiner, Jennifer G.; Geer Jr., Daniel E. (21 de julio de 1988). "Servicios de red en el entorno Athena". Actas de la Conferencia Usenix de invierno de 1988. CiteSeerX 10.1.1.31.8727 . 
  5. Quercia, Valerie; O'Reilly, Tim (1990). Guía del usuario del sistema X Window . Las guías definitivas del sistema X Window. Sebastopol, CA: O'Reilly & Associates. ISBN 978-0-937175-14-9.
  6. "xnest(1) - Página man de Linux" . die.net Documentación de Linux .
  7. Scheifler, Robert W.; Gettys, Jim (abril de 1986). "El sistema de ventanas X" . ACM Transactions on Graphics . 5 (2): 79– 109. doi : 10.1145/22949.24053 . hdl : 1721.1/149636 . ISSN 0730-0301 . 
  8. 1 2 Hopkins, Don. "El desastre de X-Windows" . Art.Net. Archivado del original el 11 de noviembre de 2009. Recuperado el 10 de noviembre de 2009 .
  9. Bumgarner, Bill (15 de noviembre de 1996). "Re: X es doloroso" . Listas de correo de Debian . Archivado del original el 31 de diciembre de 2022.
  10. "Orca" . ¡GNOME Wiki! Archivado del original el 25 de diciembre de 2013. Consultado el 7 de noviembre de 2012 .
  11. "ATK - Accessibility Toolkit" . Centro de desarrolladores de GNOME . Archivado del original el 1 de enero de 2013. Consultado el 7 de noviembre de 2012 .
  12. "Utilidades - Accesibilidad" . KDE. Archivado del original el 14 de enero de 2013. Consultado el 6 de enero de 2013 .
  13. Gettys, James. "SNAP Computing y el sistema X Window" (PDF) . Interactive Computing Everywhere . 4.6. Archivado del original (PDF) el 26 de junio de 2010.
  14. Packard, Keith. "An LBX Postmortem" . keithp.com . Archivado del original el 15 de noviembre de 2023.
  15. Corbet, Jonathan (1991). "MIT-SHM: La extensión de memoria compartida del MIT. Cómo funciona la extensión de memoria compartida" . XFree86 . Archivado del original el 22 de diciembre de 2023.
  16. "NVD - CVE-2018-14665" . nvd.nist.gov . Consultado el 6 de octubre de 2025 .
  17. Ilascu, Ionut. "Un error trivial en X.Org otorga permisos de root en sistemas Linux y BSD" . BleepingComputer . Consultado el 6 de octubre de 2025 .
  18. mpaque (19 de agosto de 2003). "Por qué Apple no usó X para el sistema de ventanas" . Slashdot . Archivado del original el 12 de noviembre de 2023.
  19. Høgsberg, Kristian (2012). "Soporte para aplicaciones X11" . Wayland . Archivado del original el 24 de septiembre de 2023.
  20. "MirSpec – Ubuntu Wiki" . Wiki.ubuntu.com. Archivado del original el 17 de junio de 2013. Consultado el 6 de marzo de 2013 .
  21. "Hoja de datos canónica de Mir" (PDF) . 20 de diciembre de 2018.
  22. "DRI para consolas de framebuffer" . Consultado el 15 de diciembre de 2009 .
  23. Carlson, Wayne E. (20 de junio de 2017). "Cronología histórica de CG" . Archivado del original el 28 de octubre de 2023. Recuperado el 28 de octubre de 2023 .
  24. Ralph R. Swick (15 de septiembre de 1987). "X Versión 11 lanzada (!!!)" . Grupo de noticias : comp.windows.x . Consultado el 9 de noviembre de 2024 . 
  25. Garfinkel, Simson L. (noviembre-diciembre de 1988). "Un segundo aire para Athena" (PDF) . Technology Review . Recuperado el 25 de enero de 2016 .
  26. Garfinkel, Simson L. (mayo-junio de 1989). "Ondas en el mercado académico" (PDF) . Technology Review . págs. 9-13 . Recuperado el 25 de enero de 2016 . 
  27. Marshall, Martin (26 de marzo de 1990). "Terminales X Window: Pro y Contra" . InfoWorld . págs. 36, 40. Recuperado el 12 de abril de 2025 . 
  28. 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 1-55558-148-X
  29. "Financiamiento de proyectos de software libre gestionados por voluntarios" . 10 de junio de 2005.{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  30. Lecciones aprendidas sobre el código abierto . Conferencia Técnica Anual de USENIX 2000.
  31. "Declaración X" . 2 de abril de 1998. Archivado del original el 24 de febrero de 2021. Consultado el 28 de enero de 2024 .
  32. "XFree86(TM): Comunicado de prensa" . 6 de diciembre de 1998. Archivado del original el 6 de diciembre de 1998. Consultado el 7 de febrero de 2017 .
  33. Browne, Christopher. "Cambios y preocupaciones en la implementación de ejemplo de X11R6.4" . Páginas web de Christopher Browne . Archivado del original el 1 de junio de 2008.
  34. Gettys, Jim (2 de febrero de 2004). "Re: Anuncio: Modificación de la licencia base XFree86(TM)" . forum@xfree86.org (Lista de correo). Archivado del original el 7 de septiembre de 2005. Recuperado el 26 de junio de 2021 .
  35. Swales, Steve (4 de febrero de 2002). "Preguntas y respuestas: El factor X" . Computerworld (Entrevista). Entrevistado por Mitchell, Robert. IDG Communications. Archivado del original el 26 de junio de 2021. Los responsables de X realmente se fueron desvaneciendo hasta casi desaparecer hace unos cinco o seis años. Realmente no se mantenía al ritmo de la tecnología.
  36. Packard, Keith (1999). "La evolución de la arquitectura del servidor X" . Archivado del original el 26 de junio de 2021.
  37. Wexelblat, David (23 de marzo de 2003). "Un llamado a la gobernanza abierta del desarrollo de X" . forum@xfree86.org (Lista de correo). Archivado del original el 12 de febrero de 2005. Recuperado el 26 de junio de 2021 .
  38. "XFree86 se une a X.Org como miembro honorario" . Slashdot . 1 de diciembre de 1999. Archivado del original el 26 de junio de 2021.
  39. Harris, Mike (13 de abril de 2003). "Otra transcripción parcial editada de una teleconferencia" . forum@xfree86.org (Lista de correo). Archivado del original el 12 de febrero de 2005. Recuperado el 26 de junio de 2021 .
  40. Nolden, Ralf (20 de marzo de 2003). "Número sobre Keith Packard" . forum@xfree86.org (Lista de correo). Archivado del original el 12 de febrero de 2005. Recuperado el 26 de junio de 2021 .
  41. Hunt, Harold (27 de octubre de 2003). "Cygwin/XFree86 - Ya no está asociado con XFree86.org" . devel@xfree86.org (Lista de correo). Archivado del original el 26 de junio de 2021. Recuperado el 26 de junio de 2021 .
  42. Harris, Mike (9 de enero de 2003). "9 de enero de 2003" . Archivado del original el 14 de febrero de 2009.
  43. Dawes, David ; Cutshaw, Robin; Evans, Marc; Murphey, Rich; Tombs, Jon; Wexelblat, David (20 de marzo de 2003). "Invitación a un debate público sobre el futuro de X" . forum@xfree86.org (Lista de correo). Archivado del original el 12 de febrero de 2005. Recuperado el 26 de junio de 2021 .
  44. Packard, Keith (21 de marzo de 2003). "Un llamado a la gobernanza abierta del desarrollo de X" . forum@xfree86.org (Lista de correo). Archivado del original el 12 de febrero de 2005. Recuperado el 26 de junio de 2021 .
  45. Packard, Keith (3 de abril de 2003). "Notas de una teleconferencia celebrada el 27 de marzo de 2003" . forum@xfree86.org (Lista de correo). Archivado del original el 12 de febrero de 2005. Recuperado el 26 de junio de 2021 .
  46. Swales, Steve (24 de marzo de 2003). "Un llamado a la gobernanza abierta del desarrollo de X" . forum@xfree86.org (Lista de correo). Archivado del original el 22 de diciembre de 2004. Recuperado el 26 de junio de 2021 .
  47. Wexelblat, David (23 de marzo de 2003). "Un llamado a la gobernanza abierta del desarrollo de X" . forum@xfree86.org (Lista de correo). Archivado del original el 6 de enero de 2005. Recuperado el 26 de junio de 2021 .
  48. Pennington, Havoc (14 de abril de 2003). "Discutiendo temas" . forum@xfree86.org (Lista de correo). Archivado del original el 27 de diciembre de 2004. Recuperado el 26 de junio de 2021 .
  49. Gettys, Jim (22 de junio de 2000). Lecciones aprendidas sobre el código abierto . Conferencia Técnica Anual USENIX 2000. Archivado del original el 27 de junio de 2021.
  50. "XFree86 4.4: La lista de distribuidores que lo rechazan crece" . Slashdot . 18 de febrero de 2004. Archivado del original el 27 de junio de 2021.
  51. 1 2 Wheeler, David A. (16 de febrero de 2014) [6 de mayo de 2002]. "Haga que su software de código abierto sea compatible con la GPL. O de lo contrario" . Archivado del original el 26 de enero de 2021.
  52. de Raadt, Theo (16 de febrero de 2004). "Licencia XFree86" . openbsd-misc (Lista de correo). Archivado del original el 18 de enero de 2019. Recuperado el 8 de diciembre de 2009 .
  53. Boykin, Oscar (25 de febrero de 2004). "X marca el lugar: una mirada retrospectiva a los desarrollos de X11 del año pasado" . OSNews . Archivado del original el 27 de junio de 2021.
  54. Gettys, James; Packard, Keith (2004). "La (re)arquitectura del sistema X Window" (PDF) . Actas del Simposio Linux . Vol. 1. 
  55. "Lanzamiento oficial de X11R6.9 y X11R7.0" . 21 de diciembre de 2005.
  56. "Propuesta de modularización" . 31 de marzo de 2005.
  57. "Cambios propuestos para X11R7.1" . 21 de abril de 2006.
  58. "Versión actual de XFree86: 4.8.0" . xfree86.org .
  59. "X – un sistema de ventanas portátil y transparente a la red" . Febrero de 2005.
  60. Landau, Matt (23 de abril de 1993). "Re: ¿Ventanas X asíncronas?" . Grupo de noticias : comp.windows.x . Usenet: 1rccdq$s6s@armory.centerline.com . Consultado el 6 de marzo de 2013 .  
  61. p. ej. "Preguntas frecuentes sobre X Windows" . Archivado del original el 11 de mayo de 2013., las preguntas frecuentes del grupo de noticias de Usenet comp.windows.x.
  62. "El sistema X Window: historia y arquitectura" . 1 de septiembre de 1999.
  63. "XFree86 y X11R6.3" . Diciembre de 1999.
  64. "X11R6.3 (Broadway) Descripción general" . The Open Group . 1997. Archivado del original el 7 de julio de 1997.
  65. "The Open Group anuncia el sistema X Window X11R6.4, listo para Internet" . 31 de marzo de 1998.
  66. "La Fundación X.Org lanza el sistema X Window X11R6.7" . 7 de abril de 2004.
  67. "Cambios desde la versión R6.8" . 21 de octubre de 2005.
  68. "Notas de la versión X11R7.1" . 22 de mayo de 2006.
  69. "La Fundación X.Org lanzó la versión 7.2.0 (también conocida como X11R7.2)" . 15 de febrero de 2007.
  70. "Planes de lanzamiento de la versión 1.4 del servidor X" . Consultado el 25 de agosto de 2007 .
  71. "La Fundación lanza X7.4" . X.org . Consultado el 10 de noviembre de 2009 .
  72. "Anuncio de lanzamiento de la versión 7.5" . X.org . Consultado el 10 de noviembre de 2009 .
  73. "Wiki – Planes de lanzamiento de la versión 7.5" . X.org . Consultado el 10 de noviembre de 2009 .
  74. "Anuncio de lanzamiento de la versión 7.6" . X.org. 20 de diciembre de 2010. Consultado el 21 de diciembre de 2010 .
  75. "Pensando en 7.6 katamari, incluyendo xcb" . Lists.x.org. 21 de octubre de 2009. Consultado el 10 de noviembre de 2009 .
  76. "Wiki – Planes de lanzamiento de la versión 7.6" . X.org . Consultado el 21 de diciembre de 2010 .
  77. " [ ANUNCIO ] X11R7.7" . Lists.x.org. 6 de junio de 2012 . Consultado el 7 de junio de 2012 .
  78. "Releases/7.7" . X.org . Consultado el 7 de junio de 2012 .
  79. "Releases/7.8" . X.org . Consultado el 6 de mayo de 2014 .

Referencias

  • Gettys, James ; Karlton, Philip L.; McGregor, Scott A. (10 de diciembre de 1990). "El sistema X Window, versión 11" (PDF) . Software: Practice and Experience . Archivado del original (PDF) el 19 de octubre de 2023.
  • Gajewska, Hania; Manasse, Mark S.; McCormack, Joel (octubre de 1990). "Por qué X no es nuestro sistema de ventanas ideal" . Software Practice & Experience  . 20 (S2). CiteSeerX 10.1.1.8.2723 . Archivado del original el 4 de julio de 2022. 
  • Linda Mui; Eric Pearce (julio de 1993). X Window System Volumen 8: Guía del administrador del sistema X Window para X11 Release 4 y Release 5, 3.ª edición . O'Reilly and Associates. ISBN 0-937175-83-8.
  • Hopkins, Don. "El desastre de X-Windows" . Manual para detractores de UNIX . Galería de Don Hopkins. Archivado del original el 29 de agosto de 2023.
  • Robert W. Scheifler y James Gettys: Sistema X Window: Protocolos básicos y de extensión: X versión 11, versiones 6 y 6.1 , Digital Press 1996, ISBN 1-55558-148-X
  • Keith Packard (1999). "La evolución de la arquitectura del servidor X" .
  • Matthew Arnison (junio de 1999). "Los medios para un X para Linux: una entrevista con David Dawes de XFree86.org" . cat.org.au. Archivado del original el 16 de septiembre de 2006.
  • Jim Gettys (2000). "Lecciones aprendidas sobre el código abierto" . USENIX.
  • Christopher B. Browne. "Sobre la tesis de que X es grande/excesivo/obsoleto y debería ser reemplazado" . Archivado del original el 12 de marzo de 2016.
  • Jim Gettys (9 de diciembre de 2003). "Hoja de ruta de la tecnología de escritorio de código abierto" . Archivado del original el 13 de abril de 2008.
  • Oscar Boykin (25 de febrero de 2004). "X marca el lugar: una mirada retrospectiva a los desarrollos de X11 del año pasado" . OSNews .
  • Keith Packard (julio de 2004). Cómo extraer X del hardware . Simposio Linux de Ottawa.
  • mpaque (19 de agosto de 2003). "Por qué Apple no usó X para el sistema de ventanas" . Slashdot . Archivado del original el 12 de noviembre de 2023.
  • «Pag de X Man» . x.org . Consultado el 9 de noviembre de 2024 .
  • Gettys, Jim (julio de 2005). Computación SNAP y el sistema X Window (PDF) . Actas del Simposio Linux. Vol.  Uno. Ottawa, Ontario, Canadá.
  • "Interfaz del sistema X Window en el entorno del servidor de comunicaciones z/OS" . IBM . Consultado el 9 de noviembre de 2024 .
  • Sitio web oficialEdita esto en Wikidata