X Window System

Тип |  свободное и открытое программное обеспечение, дисплейный сервер[вд], компьютерная платформа[вд] и оконный интерфейс
Разработчик |  X.Org Foundation
Первый выпуск |  1982
Последняя версия |

* X11R7.7 (6 июня 2012)[1][2]

Лицензия |  лицензия MIT[3]
Сайт |  x.org (англ.)
Медиафайлы на Викискладе

X Window System — оконная система, обеспечивающая стандартные инструменты и протоколы для построения графического интерфейса пользователя, используемая в UNIX-подобных ОС.

X Window System обеспечивает базовые функции графической среды: отрисовку и перемещение окон на экране и взаимодействие с устройствами ввода, такими как мышь и клавиатура. X Window System не определяет деталей интерфейса пользователя — этим занимаются многочисленные менеджеры окон. По этой причине внешний вид программ в среде X Window System может очень сильно различаться в зависимости от возможностей и настроек конкретного оконного менеджера.

В X Window System предусмотрена сетевая прозрачность: графические приложения могут выполняться на другой машине в сети, а их интерфейс при этом будет передаваться и отображаться на локальной машине пользователя. В контексте X Window System термины «клиент» и «сервер» имеют следующее значение: «сервер» — локальный дисплей пользователя (дисплейный сервер), а «клиент» — программа, которая этот дисплей использует (она может выполняться на удалённом компьютере).

Система X Window System была разработана в Массачусетском технологическом институте (MIT) в 1984 году. По состоянию на февраль 2016 года последней является версия протокола X11R7.7, которая появилась в июне 2012 года. Проект X возглавляет фонд X.Org Foundation. Образцовая реализация (reference implementation) системы свободно доступна на условиях лицензии MIT и подобных ей лицензий[4].

X Window System часто называют X11 или просто X.

## Содержание

* 1 Клиент-серверная модель и сетевая прозрачность
* 2 Принципы построения X
* 3 Интерфейсы пользователя
* 4 Реализации
* 4.1 X-терминалы
* 5 Расширения
* 5.1 DDC
* 5.2 RANDR
* 5.3 XRender
* 5.4 Shape
* 5.5 Xinerama
* 5.6 Xv
* 6 Ограничения и критика X
* 6.1 Видеоаппаратура
* 6.2 Функции интерфейса пользователя
* 6.3 Сеть
* 7 Конкуренты X
* 8 История
* 8.1 Предшественники
* 8.2 Истоки и ранние разработки
* 8.3 Консорциум X MIT и X Consortium, Inc.
* 8.4 The Open Group
* 8.5 X.Org и XFree86
* 8.6 Фонд X.Org Foundation
* 9 Дальнейшие разработки
* 10 Наименование
* 11 История выпусков
* 12 См. также
* 13 Примечания
* 14 Литература
* 15 Ссылки

## Клиент-серверная модель и сетевая прозрачность

[править | править код]

В этом примере X‑сервер принимает ввод с клавиатуры и мыши и производит вывод на экран. На пользовательской рабочей станции выполняются веб-браузер и эмулятор терминала. Программа обновления системы работает на удалённом сервере, но управляется с машины пользователя. Удалённое приложение работает так же, как если бы оно выполнялось локально

X Window System использует клиент-серверную модель: X‑сервер обменивается сообщениями с различными клиентскими программами. Сервер принимает запросы на вывод графики (окон) и отправляет обратно пользовательский ввод (от клавиатуры, мыши или сенсорного экрана). X‑сервер может быть:

* системной программой, управляющей выводом видео на персональном компьютере;
* приложением, отображающим графику в окно какой-то другой дисплейной системы;
* выделенным компонентом аппаратного обеспечения.

Протокол, с помощью которого общаются сервер и клиент, является прозрачным для сети: клиент и сервер могут находиться как на одной и той же машине, так и на разных. В частности, они могут работать на различных архитектурах под управлением разных операционных систем — результат будет одинаковым. Клиент и сервер могут безопасно взаимодействовать и через Интернет посредством туннелирования соединения сквозь зашифрованный сетевой сеанс.

Чтобы запустить удалённую клиентскую программу, выводящую графику на локальный X‑сервер, пользователь обычно открывает эмулятор терминала и подключается к удалённой машине при помощи telnet или SSH. Затем он отдаёт команду, указывающую дисплей, на который следует выводить графику (например, `export DISPLAY=[имя компьютера пользователя]:0` при использовании bash). Наконец, пользователь запускает клиентскую программу. Она подключится к локальному X-серверу и будет отображать графику на локальный экран и принимать ввод от локальных устройств ввода. Другой вариант — использовать небольшую вспомогательную программу, которая подключается к удалённой машине и запускает на ней нужное клиентское приложение.

Использование удалённых клиентов может быть полезно, например, в таких ситуациях:

* графическое администрирование удалённой машины;
* выполнение интенсивных ресурсоёмких вычислений на удалённой UNIX-машине и вывод результатов на локальной Windows-машине;
* выполнение графических программ одновременно на нескольких машинах, с одним дисплеем, одной клавиатурой и одной мышью.

## Принципы построения X

[править | править код]

В 1984 году Боб Шейфлер и Джим Геттис зафиксировали ранние принципы построения X:

* Добавляй новую функциональность только в том случае, если без неё нельзя завершить какое-то реальное приложение.
* Решить, чем система не является, столь же важно, сколь решить, чем она является. Не пытайся удовлетворить все мыслимые потребности; вместо этого сделай систему расширяемой, чтобы новые потребности могли быть удовлетворены совместимым образом.
* Хуже обобщения одного примера может быть только обобщение вообще без примеров.
* Если проблема не понята до конца, возможно, лучше не решать её вовсе.
* Если ты можешь добиться 90 процентов нужного эффекта, затратив всего 10 процентов сил, используй более простое решение.
* Изолируй сложные места как можно сильнее.
* Обеспечивай механизм, а не политику. В частности, политика интерфейса пользователя должна быть в руках клиентов.

С тех пор проект X, в основном, придерживался этих принципов. Демонстрационная реализация разрабатывается с расчётом на расширение и улучшение, в то же время она остаётся почти полностью совместимой с протоколом 1987 года.

## Интерфейсы пользователя

[править | править код]

GNOME 3.32 в среде X Window System X Window System в Mac OS X

X Window System намеренно не определяет, как должен выглядеть интерфейс пользователя приложения — кнопки, меню, заголовки окон и т. д. Эти вопросы решаются на уровне оконных менеджеров, инструментариев элементов интерфейса, сред рабочего стола и на уровне отдельных приложений. По этой причине визуальное представление X-интерфейсов претерпело огромные изменения с течением времени.

Оконный менеджер управляет размещением и внешним видом окон приложений. Он может создавать интерфейс, подобный Microsoft Windows или Macintosh (например, так работают оконные менеджеры Kwin в KDE и Metacity в GNOME), или совершенно другой стиль (например, во фреймовых оконных менеджерах, таких как Ion). Оконный менеджер может быть как простым и минималистичным (например twm — базовый оконный менеджер, поставляемый с X), так и может предлагать функциональность, близкую к полноценной рабочей среде (например, Enlightenment).

Многие пользователи используют X вместе с полной средой рабочего стола, которая включает в себя оконный менеджер, различные приложения и единый стиль интерфейса. Наиболее популярные среды рабочего стола — GNOME и KDE. В стандарте Single UNIX Specification указана среда CDE. Проект freedesktop.org пытается обеспечить взаимодействие между различными средами, а также компоненты, необходимые для конкурентоспособного рабочего стола на основе X.

## Реализации

[править | править код]

Эталонная реализация от фонда X.Org Foundation, называемая X.Org Server, является каноничной реализацией X Window System. Она распространяется на условиях весьма либеральной лицензии, из-за чего появились несколько её разновидностей (как свободных, так и проприетарных). Коммерческие поставщики UNIX зачастую берут демонстрационную реализацию и адаптируют её к собственному аппаратному обеспечению, обычно сильно модифицируя её и добавляя проприетарные расширения.

Вплоть до 2004 года проект XFree86 был наиболее распространённым вариантом X для свободных UNIX-подобных операционных систем. XFree86 возник как порт X на 386-совместимые персональные компьютеры. К концу 1990-х этот проект стал главным источником технических инноваций в X Window System и де-факто руководил разработкой X[5]. Однако в 2004 году XFree86 поменял условия лицензии, и реализация X.Org Server (которая является форком XFree86, но со свободной лицензией) стала более распространённой.

X11.app выполняется без корневого окна на Mac OS X. В среде X запущен графический редактор GIMP

Хотя X Window System чаще всего ассоциируется с UNIX, X-серверы могут также существовать внутри других графических сред. OpenVMS — операционная система компании Hewlett-Packard — в качестве стандартной среды рабочего стола использует версию X вместе с CDE, известную как DECwindows. В состав операционных систем Mac OS X 10.3 (Panther) и выше от Apple входит X11.app, основанная на XFree86 4.3 и X11R6.6, с более полной интеграцией в Mac OS X.

Cygwin/X выполняется без корневого окна на Microsoft Windows XP. X-приложения (xeyes, xclock, xterm) работают на одном экране с обычными приложениями Windows (Дата/Время, Калькулятор)

Microsoft Windows не включает в себя поддержку X, но существуют многочисленные сторонние реализации: как свободные (Cygwin/X, Xming, X-Deep/32, WeirdMind, WeirdX), так и проприетарные (Xmanager, WiredX, Exceed, X-Win32). Обычно они используются для управления удалёнными X-клиентами.

Для устаревшей операционной системы DOS также существует реализация X-сервера, DesqView/X, даже в настоящее время позволяющая создавать довольно простые тонкие клиенты.

Когда X Window System выполняется внутри другой оконной системы (например, оконной подсистемы Microsoft Windows или Mac OS), она обычно работает в режиме без корневого окна (англ. rootless). Это значит, что корневое окно (фон экрана и связанные с ним меню) управляется внешней оконной системой, а не самой X Window System. При этом внешняя оконная система также управляет геометрией X-окон, создаваемых внутри неё. Однако некоторые серверы (например, Exceed, Xming или Cygwin/X) способны создавать и корневое окно — в этом случае клиенты отображаются в отдельном окне во внешней системе.

### X-терминалы

[править | править код]

X-терминал — это выделенное аппаратное обеспечение, на котором выполняется X-сервер и которое служит в качестве тонкого клиента. Эта архитектура завоевала популярность при построении недорогих терминальных парков, в которых множество пользователей одновременно используют один большой сервер приложений. Такое применение X Window System хорошо соответствует изначальным намерениям разработчиков из MIT.

X-терминалы могут изучать сеть (в пределах локального широковещательного домена) с использованием протокола XDMCP, составляя при этом список узлов сети, с которых они могут запускать клиенты. На изначальном узле должен выполняться дисплейный менеджер X (англ. X display manager).

В настоящее время выделенные (аппаратные) X-терминалы не пользуются широкой популярностью: обычно персональный компьютер с X-сервером обеспечивает ту же функциональность при меньшей стоимости.

## Расширения

[править | править код]

X-сервер состоит из набора расширений, каждое из которых реализует определённые функции: от прорисовки геометрических примитивов до ускорения обработки и вывода на экран трёхмерной графики с использованием возможностей видеоаппаратуры. Почти каждый из этих модулей можно отключить или настроить в конфигурационном файле.

### DDC

[править | править код]

VESA Display Data Channel (DDC™) — стандарт обмена информацией между монитором и графической платой, позволяющий монитору передавать данные о поддерживаемых разрешениях, частотах развёртки, производителе монитора и т. д. Модуль DDC поддерживает версии 1 и 2 спецификации DDC. В соответствии с полученными данными он устанавливает основные параметры экрана или предупреждает о несоответствии заданных пользователем параметров.

### RANDR

[править | править код]

X Resize, Rotate and Reflect Extension — расширение X-сервера, реализующее функции масштабирования, поворота и отражения корневого окна. Используется при изменении разрешения, при динамической замене монитора (например, при переключении со встроенного экрана ноутбука на внешний монитор). Рассылает запущенным приложениям предупреждения об изменении конфигурации экрана.

### XRender

[править | править код]

X Rendering Extension предоставляет функции для совмещения и вывода изображений на экран. Позволяет обрезать изображение, накладывать маску по цветам с использованием альфа-канала, использовать различные фильтры, подготавливать и выводить текстовую информацию, а также отображать основные геометрические фигуры.

### Shape

[править | править код]

Расширение Shape предназначено для улучшения вида интерфейса пользователя. Среди его возможностей — отбрасывание тени элементами интерфейса для создания иллюзии трёхмерности; окна и кнопки с округлыми краями; возможность создавать различные фигуры, отличные от прямоугольных.

### Xinerama

[править | править код]

Расширение Xinerama позволяет представить множество мониторов как один экран. С его помощью можно выводить согласованное изображение на большие экраны, составленные из многих мониторов. Однако многие из существующих на данный момент оконных менеджеров не поддерживают или не полностью поддерживают спецификации Xinerama и поэтому показывают неадекватное изображение при использовании данного расширения.

### Xv

[править | править код]

Основная статья: X video

X video extension — расширение, позволяющее ускорить вывод видеофрагментов на экран с использованием возможностей графической платы (а точнее — её драйвера) и уменьшить тем самым нагрузку на центральный процессор. Многие графические платы позволяют выводить видеоизображения в форматах кодирования цвета YUV (YUY2, I420 и т. д.), которые используются в стандартах систем аналогового цветного телевидения PAL, SÉCAM, NTSC, не переводя их предварительно в формат передачи цвета дисплея (RGB16/24/32), а также производить обратное перекодирование. Расширение Xv предоставляет информацию о доступных графических платах, количестве доступных портов (каждый порт может использовать только одно приложение), поддерживаемых форматах кодирования цвета. Всю эту информацию можно просмотреть с помощью утилиты `xvinfo`.

## Ограничения и критика X

[править | править код]

В книге «The UNIX-HATERS Handbook» (1994) целая глава[6] посвящена проблемам X в конце 1980-х — начале 1990-х годов. Статья «Why X Is Not Our Ideal Window System»[7] («Почему X не является нашей идеальной оконной системой») (1990) подробно рассматривает проблемы протокола и даёт рекомендации по улучшению.

### Видеоаппаратура

[править | править код]

Сегодня граница производительности графических компьютерных систем пролегает в области наиболее продвинутых графических функций. Изготовители аппаратного обеспечения, как правило, реализуют эти продвинутые возможности в проприетарных драйверах, причём эти драйверы обычно пишутся в первую очередь для систем Microsoft Windows (как для самых распространённых на потребительском рынке). Драйверы многих старых графических плат подверглись обратной разработке в рамках проектов XFree86 и X.Org Server. Однако некоторые производители рассматривают свои разработки в области высокопроизводительного видео как коммерческую тайну или же как патентованные изобретения, которые они не хотят раскрывать.

Многие нынешние реализации X управляют видеоаппаратурой напрямую. Неустойчивый X-сервер может сделать дисплей непригодным к использованию даже в тех случаях, когда сама операционная система продолжает нормально функционировать; при этом может потребоваться перезагрузка всей системы. Технология Direct Rendering Infrastructure (DRI) призвана устранить эту проблему.

### Функции интерфейса пользователя

[править | править код]

X Window System намеренно не включает в себя спецификации интерфейса пользователя, равно как и большей части межпрограммного взаимодействия. По этой причине возникли очень сильно отличающиеся друг от друга интерфейсы, а также приложения, не всегда правильно работающие друг с другом. Существует спецификация взаимодействия клиентов ICCCM, но она известна как трудная для правильной реализации. Последующие попытки стандартизации — такие как инструментарий Motif и среда CDE — не исправили положения. Всё это мешает как пользователям, так и программистам[8]. В настоящее время разработчики обычно добиваются единого стиля в приложениях, ориентируясь на одну конкретную среду рабочего стола или на конкретный инструментарий. Это также позволяет избежать непосредственной работы с ICCCM.

Протокол X в официальной комплектации не предоставляет никаких средств для работы со звуком, однако расширение протокола для использования звука по сети существует. Поддержка звуковой аппаратуры и воспроизведение звуков возлагается на операционную систему. Поскольку пользователям всё чаще необходим звук, эта ситуация привела к появлению различных несовместимых друг с другом звуковых подсистем. В прошлом многие программисты игнорировали сетевые проблемы и просто использовали локальные звуковые API операционной системы. Первое поколение клиент-серверных звуковых систем включает в себя rplay и Network Audio System. Более современные системы — PulseAudio, esound в GNOME и aRts в KDE. Также начата разработка новой системы — Media Application Server.

До недавнего времени X Window System не включала в себя хорошего решения для печати содержимого дисплеев. Многие X-клиенты печатают в формате PostScript независимо от X-сервера. Механизм Xprint впервые появился в X11R6.3; его клиентская часть работала хорошо, в отличие от многих серверных реализаций. Версии X11R6.8 и выше функционируют нормально[9] и набирают популярность в инструментариях элементов интерфейса.

### Сеть

[править | править код]

В X Window System нет возможности отключить X-клиент или сеанс от одного сервера и подключить его к другому серверу (как в VNC). Работа над добавлением этой функции в X уже ведётся. Существуют обходные механизмы (просмотрщики VNC :0), которые делают экран текущего X-сервера доступным через VNC. Или можно использовать подключение X-клиента к проксирующему X-серверу (xpra, guievict, xmove, lbxproxy).

Пример туннелирования приложения X11 поверх SSH.

Данные, передаваемые по сети между X-сервером и удалёнными X-клиентами, по умолчанию не шифруются. Злоумышленник может при помощи сниффера перехватить и прочитать эти данные. Для предотвращения этого, как правило, X туннелируется поверх SSH. Большинство реализаций SSH поддерживает туннелирование X-приложений, хотя иногда эти функции по умолчанию отключены.

Независимость от аппаратуры и отделение клиентов от серверов влияет на производительность системы. Сетевая прозрачность X требует, чтобы клиенты и сервер работали отдельно друг от друга. В прошлом это существенно снижало производительность отдельно стоящей системы — по сравнению с Microsoft Windows и Mac OS, где оконная подсистема внедрена глубоко в саму операционную систему. Для нормальной работы X Window System рекомендовалось от 4 до 8 Мб оперативной памяти — значительно больше (по тем временам), чем для Windows или Mac OS.

По идеологии X Window System вся отрисовка элементов окон производится X-сервером. Но, на сегодняшний день было создано достаточно много приложений (в основном используя такие библиотеки как GTK+ и Qt) производящие отрисовку элементов на стороне клиента и передающие эти отрисованные элементы уже как рисунок X серверу. При этом к каналам сети предъявляются повышенные требования по пропускной способности.

Текущие версии Windows и Mac OS X имеют внутреннее разделение графической подсистемы, похожее на клиент-серверное разделение в X, и имеют примерно те же требования к ресурсам, что X с KDE или GNOME. Последнее — очень спорное утверждение, например, загрузка ЦП со стороны X сервера значительно превышает нагрузку процессора со стороны графической подсистемы Windows. Потребление памяти также заметно выше. Бо́льшая часть накладных расходов в X теперь приходится на задержку при передаче данных по сети между клиентом и сервером. Существует распространённое заблуждение, согласно которому при локальном использовании X Window System её сетевые возможности (ненужные в данном случае) отрицательно сказываются на производительности. На самом деле современные реализации X используют в таком случае локальные сокеты и общую память (напр. MIT-SHM), требуя лишь очень незначительных накладных расходов.

## Конкуренты X

[править | править код]

В UNIX-подобных операционных системах для вывода графики почти повсеместно используется X Window System. Тем не менее, история знает несколько попыток создания альтернативы или замены X. Среди них: NeWS компании Sun Microsystems, не завоевавшая популярность на рынке, и Display PostScript компании NeXT, которая впоследствии превратилась в Apple Aqua для Mac OS X.

Производились и попытки решить проблемы X путём полной её замены; в том числе — проекты Berlin/Fresco и Y Window System. Однако эти проекты не получили практически никакого распространения. На данный момент имеется развивающийся проект, направленный на снижение системных требований — MicroXwin. X.org Foundation в настоящее время занимается устранением недостатков в X11 путём приведения подсистем к актуальному состоянию — в частности появилась поддержка множества курсоров, а следовательно и multitouch, а также значительно улучшена подсистема ввода, которая стала называться Xinput2, что позволило снять ограничения на сканкоды клавиш. Несмотря на это появляются альтернативы X11. В частности компания Intel занята развитием нового протокола Wayland, который планируется как альтернатива X11, но при этом, в отличие от X11, не предоставляет средств удалённого доступа к приложениям на уровне протокола. Разработчики Ubuntu планировали переход на Wayland в выпуске 13.04, но позже объявили о собственной разработке — Mir — собственной графической подсистемы, представляющей собой ответвление графической подсистемы SurfaceFlinger из ОС Android, развивающееся далее ресурсами Canonical как самостоятельный проект. В 18-м выпуске дистрибутива Fedora Wayland включён как опциональный пакет.

Другие конкуренты пытаются избежать накладных расходов, возникающих в X, путём работы непосредственно с аппаратным обеспечением. Примерами таких проектов являются DirectFB и очень маленький FBUI. Механизм Direct Rendering Infrastructure (попытка создать надёжный ядерный интерфейс к видеобуферу) может сделать эти проекты ненужными.

Есть и другие способы добиться сетевой прозрачности графических служб:

* VNC (Virtual Network Computing) — очень низкоуровневая система, которая пересылает сжатые растровые изображения по сети. Реализация для UNIX включает в себя X-сервер.
* Citrix MetaFrame — подобный X продукт для Microsoft Windows.
* Tarantella — компания, поставляющая Java-клиент для использования в веб-браузерах.
* Технология NX NoMachine — узкополосный протокол для удалённых дисплеев. Не является конкурентом X, поскольку базируется на протоколе X11, но позиционируется как более совершенное решение, чем чистый X.
* SVG Terminal[10] — протокол для обновления SVG-содержимого в веб-браузере в почти реальном времени.

## История

[править | править код]

### Предшественники

[править | править код]

До появления X существовало несколько растровых дисплейных систем. Из Xerox пришли Alto (1973) и Star (1981). В Apple были разработаны Lisa (1983) и Macintosh (1984). В мире UNIX существовали терминал Blit Роба Пайка (1984) и проект Andrew (1982).

X получила своё имя как преемница оконной системы W Window System[англ.] (в латинском алфавите буква X следует сразу за буквой W). Система W работала под управлением операционной системы V[англ.]. W использовала сетевой протокол с поддержкой терминальных и графических окон, при этом сервер поддерживал списки дисплеев.

### Истоки и ранние разработки

[править | править код]

Изначальная идея X Window System возникла в Массачусетском технологическом институте (MIT) в 1984 году в результате сотрудничества Джима Геттиса (из Проекта Athena[англ.]) и Боба Шейфлера (из лаборатории информатики MIT). Шейфлеру была необходима пригодная к использованию дисплейная среда для отладки системы Argus. Проект Athena (совместный проект DEC, MIT и IBM по предоставлению лёгкого доступа к компьютерам для студентов) нуждался в платформо-независимом графическом решении, чтобы соединить воедино свои гетерогенные системы, состоящие из продуктов разных поставщиков. В то время в рамках проекта Andrew в университете Карнеги — Меллон велась работа над оконной системой, но для неё не были доступны лицензии, а альтернатив не существовало.

Проект решил эти проблемы путём создания протокола, который поддерживал как локальные приложения, так и вызов удалённых приложений. В середине 1983 года начальный порт W на UNIX работал в пять раз медленнее, чем в системе V[англ.]. В мае 1984 года Шейфлер заменил синхронный протокол на асинхронный, а списки дисплеев — на непосредственный вывод графики. Таким образом получилась X Window System версии 1.x, одна из первых оконных систем, обеспечивающих независимость от аппаратного обеспечения.

Шейфлер, Геттис и Рон Ньюмен приступили к работе, и X стала быстро развиваться. В январе 1985 года была выпущена версия 6. Компания DEC, которая в то время готовилась к выпуску своей первой рабочей станции Ultrix, решила, что X — единственная оконная система, которая может быть завершена к нужному сроку. Инженеры DEC портировали X6 на дисплей QVSS на MicroVAX.

Во втором квартале 1985 года в X была реализована поддержка цветов для работы под DEC VAXstation-II/GPX. Эта версия стала известна как версия 9. Ранее MIT лицензировал X6 некоторым сторонним группам за плату. Однако теперь было решено распространять X9 и будущие версии свободно — на условиях, которые получили название лицензии MIT. X9 появилась в сентябре 1985 года.

Группа из Браунского университета портировала версию 9 на IBM PC/RT, но проблемы при чтении неупорядоченных данных на RT привели к несовместимому изменению в протоколе, в результате чего в конце 1985 года была выпущена версия 10. К 1986 году из внешних организаций начали поступать запросы на использование X. Выпуск X10R2 состоялся в январе 1986 года, X10R3 — в феврале. X10R3 стала первой версией, получившей широкое распространение; DEC и Hewlett-Packard выпускали основанные на ней продукты. Другие группы портировали X10 на Apollo, на рабочие станции Sun и даже на IBM PC AT. В то же время на выставке Autofact были проведены демонстрации первого коммерческого приложения на основе X — инженерной системы, работающей на VAX и отображаемой на персональных компьютерах с X-сервером. Последняя версия X10 — X10R4 — появилась в декабре 1986 года.

Хотя X10 обладала интересной и мощной функциональностью, стало очевидно, что протокол X желательно сделать менее зависимым от аппаратуры до того, как X Window System станет слишком широко распространённой. Однако MIT в одиночку не справился бы со столь крупными изменениями в протоколе. Смоуки Уоллэс из лаборатории DEC WSL и Джим Геттис предложили DEC WSL заняться разработкой X11 и сделать её свободно распространяемой на тех же условиях, что X9 и X10. Этот процесс начался в мае 1986 года; протокол был готов в августе. Альфа-тестирование программного обеспечения началось в феврале 1987 года; бета-тестирование — в мае. Наконец, 15 сентября 1987 года X11 была официально выпущена.

Дизайн протокола X11, которым руководил Шейфлер, широко обсуждался в открытых списках рассылки раннего Интернета. Таким образом, X можно считать одним из первых крупномасштабных проектов по созданию свободного программного обеспечения.

### Консорциум X MIT и X Consortium, Inc.

[править | править код]

DECwindows CDE в OpenVMS 7.3-1

В 1987 году, когда успех X11 стал очевидным, MIT пожелал отказаться от дальнейшего управления проектом X. Однако на собрании девяти поставщиков, состоявшемся в июне 1987 года, поставщики сообщили MIT, что необходима нейтральная сторона, которая предотвращала бы распад X на рынке. В январе 1988 года была сформирована некоммерческая группа под названием Консорциум X MIT (MIT X Consortium). Её целью являлось управление дальнейшей разработкой X в нейтральной атмосфере, с учётом как коммерческих, так и образовательных интересов. Директором Консорциума стал Шейфлер. Джим Фултон и Кит Паккард присоединились в качестве старших разработчиков в январе и марте 1988 года соответственно. При этом Джим работал в основном над Xlib, шрифтами, оконными менеджерами и утилитами, а Кит занимался переделыванием сервера. Донна Конверс и Крис Петерсон присоединились позже в том же году; их усилия были сосредоточены в области инструментариев и наборов элементов интерфейса, они работали в тесной связи с Ральфом Свиком из Проекта Athena[англ.] института MIT. Консорциум X MIT выпустил несколько существенных обновлений к X11; первое из них (X11R2) вышло в феврале 1988 года.

В 1993 году был сформирован преемник Консорциума X MIT — некоммерческая корпорация X Consortium, Inc. Под её началом 16 мая 1994 года была выпущена версия X11R6. В 1995 году корпорация взяла на себя управление разработкой инструментария Motif и среды CDE для UNIX-систем. X Consortium распалась в конце 1996 года, выпустив последнюю версию, X11R6.3, и оставив после себя возрастающее коммерческое влияние в разработке.[11][12]

### The Open Group

[править | править код]

В середине 1997 года X Consortium передал руководство проектом X организации The Open Group, образованной в 1996 году в результате слияния Open Software Foundation и X/Open.

The Open Group выпустила X11R6.4 в начале 1998 года. В этой версии было решено отказаться от традиционной либеральной лицензии, поскольку The Open Group желала обеспечить финансовую поддержку разработки X.[13] Новые условия не позволяли многим проектам (например, XFree86) и даже некоторым коммерческим поставщикам принять эту версию. После угроз сделать форк со стороны XFree86[14] The Open Group сменила условия распространения X11R6.4 обратно на традиционную лицензию в сентябре 1998 года.[15] Последним выпуском под руководством The Open Group стал X11R6.4 patch 3.

### X.Org и XFree86

[править | править код]

Необходимо проверить качество перевода c английского языка, исправить содержательные и стилистические ошибки.

Вы можете помочь улучшить эту статью (см. также рекомендации по переводу).
Оригинал на английском языке — X Window System. (8 ноября 2008)

|

Проект XFree86 возник в 1992 году из сервера X386 для IBM PC-совместимых компьютеров. X386 был написан Томасом Роэллом и Марком Снитили, пожертвован Консорциуму X MIT компанией Snitily Graphics Consulting Services (SGCS) и включён в состав X11R5 в 1991 году. Со временем XFree86 превратился из просто отдельно взятого порта X в ведущую и самую популярную реализацию системы и стал де-факто руководить разработкой X.[16]

В мае 1999 года The Open Group основала X.Org. X.Org контролировала выпуск версий X11R6.5.1 и выше. В это время разработка X практически остановилась[17]; технические инновации происходили в основном в рамках проекта XFree86[18]. В 1999 году команда XFree86 вошла в состав X.Org в качестве почётного члена[19], чему способствовали различные компании-производители аппаратного обеспечения[20], заинтересованные в использовании XFree86 вместе с Linux и в его статусе как наиболее популярной версии X.

X.Org и XFree86 начали обсуждать реорганизацию, дабы обеспечить полноценную разработку X[21][22][23]. Джим Геттис настаивал на переходе к открытой модели разработки по крайней мере с 2000 года[12]. Геттис, Паккард и другие начали подробно обсуждать изменения, которые требовалось внести для перехода к эффективной открытой разработке X.

Вплоть до 2003 года, пока популярность Linux (и, как следствие, распространённость X) возрастала, X.Org бездействовала[24], и основная разработка происходила в XFree86. Проект XFree86 страдал от слишком закрытой модели разработки: программисты не могли получить доступ на запись в CVS-репозиторий, и поставщикам приходилось поддерживать обширные наборы патчей[25]. В марте 2003 года организация XFree86 исключила Кита Паккарда, который присоединился к XFree86 после распада Консорциума X MIT; сделано это было в весьма недружелюбной обстановке[26][27][28].

Наконец, в феврале 2004 года проект XFree86 выпустил версию 4.4 под более ограниченной лицензией: в неё был добавлен пункт, аналогичный рекламному пункту (англ. advertising clause) оригинальной лицензии BSD. Многие проекты, полагавшиеся на X, посчитали такую лицензию неприемлемой. FSF и Debian сочли добавленный пункт несовместимым с условиями GNU GPL[29]. Другие группы (например, OpenBSD) считали, что наложение дополнительных лицензионных ограничений противоречит изначальному духу X. Из-за этих лицензионных проблем на фоне закрытости XFree86 сложилась подходящая атмосфера для создания форка.

### Фонд X.Org Foundation

[править | править код]

Основная статья: X.Org Foundation

В начале 2004 года представители X.Org и freedesktop.org основали фонд X.Org Foundation. The Open Group передала ему управление доменным именем `x.org`. Это стало коренным изменением в разработке X. В то время как распорядители X с 1988 года (включая предыдущую X.Org) были организациями поставщиков, X.Org Foundation был основан самими разработчиками программного обеспечения, и в нём использовалась открытая модель разработки, опирающаяся на вклад извне. Было открыто членство для частных лиц, а корпоративное членство представлено в виде спонсорства. В настоящее время фонд X.Org Foundation поддерживается несколькими крупными корпорациями, такими как Hewlett-Packard и Sun Microsystems.

Фонд выпустил X11R6.7 — X.Org Server — в апреле 2004 года. Эта версия была основана на XFree86 4.4RC2 (последней версии XFree86, выпущенной под старой лицензией), с добавленными изменениями X11R6.6. Благодаря внедрению открытой модели разработки и сохранению совместимости с GNU GPL проект привлёк многих бывших разработчиков XFree86[29].

X11R6.8 вышла в сентябре 2004 года. В неё были включены значительные нововведения, в том числе предварительная поддержка прозрачных окон и других сложных визуальных эффектов, экранных луп и миниатюр, а также средства для интеграции с трёхмерными дисплейными системами (такими как проект Looking Glass от Sun и проект Croquet). Политику внешнего вида предоставляют сторонние приложения, называемые композитными менеджерами (англ. composite managers).

## Дальнейшие разработки

[править | править код]

Благодаря X.Org Foundation и freedesktop.org разработка X Window System вновь ускорилась. Разработчики планируют выпускать текущие и будущие версии как готовые к использованию продукты, а не просто как основу для продуктов, создаваемых поставщиками.

21 декабря 2005 года фонд выпустил[30] X11R6.9 — монолитное дерево исходного кода для устаревших систем, и X11R7.0 — тот же исходный код, разбитый на независимые модули, которые могут поддерживаться в рамках отдельных проектов[31]. Версия X11R7.1 была выпущена 22 мая 2006 года, примерно через четыре месяца после 7.0, и включает в себя существенные улучшения[32].

Планируется, что в будущем X-сервер будет получать доступ к видеоаппаратуре исключительно посредством OpenGL и Direct Rendering Infrastructure (DRI) на тех комбинациях аппаратного обеспечения и операционных систем, которые поддерживают такой доступ. Инфраструктура DRI впервые появилась в XFree86 версии 4.0 и стала стандартной в X11R6.7 и более поздних версиях[33]. Многие операционные системы начали добавлять соответствующую поддержку в ядро. Работа в этой области продолжается.

## Наименование

[править | править код]

Компьютерные специалисты зачастую сокращают полное название «X Window System» до «X11» или просто «X». Термин «X Windows» (на манер «GNU/Linux» или «Microsoft Windows») официально осуждается и считается неверным, хотя широко используется с самого начала истории X, в том числе и намеренно для литературного эффекта (например, в книге «The UNIX-HATERS Handbook»).

## История выпусков

[править | править код]

См. также: XFree86 § История выпусков и X.Org Server § История выпусков

Версия  | Дата выпуска  | Наиболее важные изменения

|
|

Старая версия, не поддерживается: X1  | июнь 1984 | Впервые используется название «X». Фундаментальные изменения, отличающие продукт от W.
Старая версия, не поддерживается: X6  | январь 1985 | Первая версия, лицензированная нескольким внешним компаниям.
Старая версия, не поддерживается: X9  | сентябрь 1985 | Поддержка цветов. Первый выпуск на условиях лицензии MIT.
Старая версия, не поддерживается: X10  | ноябрь 1985 | IBM RT/PC, AT (под управлением DOS) и другие.
Старая версия, не поддерживается: X10R2  | январь 1986 |
Старая версия, не поддерживается: X10R3  | февраль 1986 | Первый выпуск за пределы MIT. uwm становится стандартным оконным менеджером.
Старая версия, не поддерживается: X10R4  | декабрь 1986 | Последняя версия X10.
Старая версия, не поддерживается: X11  | 15 сентября 1987 | Первый выпуск нынешнего протокола.
Старая версия, не поддерживается: X11R2  | февраль 1988 | Первый выпуск под начальством Консорциума X MIT.[34]
Старая версия, не поддерживается: X11R3  | 25 октября 1988 | XDM.
Старая версия, не поддерживается: X11R4  | 22 декабря 1989 | XDMCP; twm становится стандартным оконным менеджером; улучшения в приложениях; расширение Shape; новые шрифты.
Старая версия, не поддерживается: X11R5  | 5 сентября 1991 | X386 1.2, PEX, Xcms (управление цветом), сервер шрифтов, расширение X video.
Старая версия, не поддерживается: X11R6  | 16 мая 1994 | ICCCM версии 2.0; Inter-Client Exchange; X Session Management; расширение X Synchronization; расширение X Image; расширение XTEST; X Input; X Big Requests; XC-MISC; изменения в XFree86.
Старая версия, не поддерживается: X11R6.1  | 14 марта 1996 | Расширение X Double Buffer; расширение X keyboard; расширение X Record.
Старая версия, не поддерживается: X11R6.2
X11R6.3  | 23 декабря 1996 | Функциональность WWW; LBX. Последний выпуск под руководством X Consortium. X11R6.2 — это обозначение подмножества X11R6.3, в котором единственными отличиями от R6.1 являются Xprint и реализация в Xlib вертикального письма и поддержки символов, задаваемых пользователями.[35]
Старая версия, не поддерживается: X11R6.4  | 31 марта 1998 | Xinerama.[36]
Старая версия, не поддерживается: X11R6.5  | 2000 | Внутренний выпуск X.Org; не стал доступным широкой публике.
Старая версия, не поддерживается: X11R6.5.1  | 20 августа 2000 |
Старая версия, не поддерживается: X11R6.6  | 4 апреля 2001 | Исправления багов; изменения в XFree86.
Старая версия, не поддерживается: X11R6.7.0  | 6 апреля 2004 | Первая версия X. Org Server от фонда X.Org Foundation как форк от XFree86 4.4 RC2. Основным поводом для этого послужило несогласие некоторых участников проекта с новой лицензией XFree86 4.4. Многие из бывших разработчиков XFree86 позднее присоединились к проекту X.Org Server.

Удаление XIE, PEX и libxml2.[37]

Старая версия, не поддерживается: X11R6.8.0  | 8 сентября 2004 | Прозрачность окон; XDamage; Distributed Multihead X; XFixes; Composite; XEvIE.
Старая версия, не поддерживается: X11R6.8.1  | 17 сентября 2004 | Устранение уязвимости в libxpm.
Старая версия, не поддерживается: X11R6.8.2  | 10 февраля 2005 | Устранение багов, обновления драйверов.
Старая версия, не поддерживается: X11R6.9
X11R7.0  | 21 декабря 2005 | Впервые была добавлена модульная система сборки. В 6.9.0 всё ещё использовалась старая система сборки Imake, в то время как системы 7.0.0 уже использовала Autotools. В итоге из одного набора исходных кодов получились модульная версия 7.0 и монолитная версия 6.9.

EXA, значительный рефакторинг кода.[38]

Старая версия, не поддерживается: X11R7.1  | 22 мая 2006 | Усовершенствования EXA; интеграция Kdrive; AIGLX; улучшения в поддержке различных ОС и платформ.[39]
Старая версия, не поддерживается: X11R7.2  | 15 февраля 2007 | Удаление LBX[40] и встроенного драйвера клавиатуры, X-ACE, XCB, улучшения AutoConfig.
Старая версия, не поддерживается: X11R7.3  | 6 сентября 2007 | X11R7.3: XServer 1.4, автоопределение устройств с помощью HAL, использование DTrace, поддержка PCI-доменов.

Xorg server 1.4 — see Server14Branch for more details. Highlights:

* RandR 1.2: RandR 1.2 offers output hotplug, as well as on-the-fly output reconfiguration and mode switching.
* Input hotplug: Input hotplug allows hotplugging of input devices, and also adds enhanced support for touchscreens and tablets, through either HAL or D-Bus.
* KDrive: Numerous enhancements have been made to the KDrive codebase, including better support for multiple input devices.
* DTrace: When running on OpenSolaris, DTrace support is available in the X server, allowing detailed accounting of operations inside the server.
* EXA: A great deal of work has been done on the EXA framework to make it more usable.
* New applications: xbacklight
* New drivers: xf86-video-glide, xf86-video-vermilion
* New man pages for API’s: libXinerama, libXcomposite, XKB functions in libX11, Xtest functions in libXtst
* Support for font catalogue directories in font path
* xdm: Xft support added[41].

Старая версия, не поддерживается: X11R7.4  | 23 сентября 2008 | XServer 1.5.1, XACE, переработка PCI, оптимизации EXA, _X_EXPORT, GLX 1.4, ускоренные запуск и выключение.[42]
Старая версия, не поддерживается: X11R7.5  | 26 октября 2009[43] | XServer 1.7.0[44], Xi 2, XGE, поддержка E-EDID, RandR 1.3, MPX, предсказуемое ускорение указателя, использование менеджера памяти DRI2, использование SELinux, удаление устаревших библиотек и расширений.
Старая версия, не поддерживается: X11R7.6  | 20 декабря 2010[45] | XServer 1.9.0, переход от управления устройствами с подсистемы HAL (Hardware Abstraction Layer) на использование библиотеки udev, возможность создания файлов конфигурации для отдельных устройств, поменялись ABI интерфейсов, ответственных за ввод-вывод видео, и некоторые расширения[46][47].
Текущая версия: X11R7.7 | 6 июня 2012[48] | XServer 1.12, поддержка мультитач, улучшенный процесс сборки документации из DocBook XML и начальная поддержка GLX и XKB в XCB.

Легенда:

Старая версия

Старая поддерживаемая версия

Текущая версия

Тестовая версия

Будущая версия

## См. также

[править | править код]

* Xgl
* VirtualGL
* Wayland

## Примечания

[править | править код]

1. ↑ 7.7
2. ↑ X11R7.x - X Window System Version 11 Release 7.x ongoing development
3. ↑ https://x.org
4. ↑ Licenses (англ.). X.Org Foundation (март 2004). Дата обращения: 29 июня 2006. Архивировано 29 января 2011 года.
5. ↑ Джим Геттис. Письмо в форум XFree86 (неопр.). Дата обращения: 4 января 2007. Архивировано 29 января 2011 года.
6. ↑ Дон Хопкинс. The X-Windows Disaster (англ.). The UNIX-HATERS Handbook. Дата обращения: 29 июня 2006. Архивировано 29 января 2011 года.
7. ↑ Ханя Жаевска, Марк Менес, Джоэл МакКормак. Why X Is Not Our Ideal Window System // Software — Practice & Experience. — 1990. — Т. 20, № S2. Архивировано 10 сентября 2014 года.
8. ↑ Re: X is painful (неопр.). Дата обращения: 29 июня 2006. Архивировано 6 июля 2017 года.
9. ↑ Xprint Frequently Asked Questions (англ.). Дата обращения: 29 июня 2006. Архивировано 29 января 2011 года.
10. ↑ airWRX — SVG Terminal (неопр.). Дата обращения: 29 июня 2006. Архивировано 17 декабря 2007 года.
11. ↑ mako. Financing Volunteer Free Software Projects (англ.) (15 июня 2005). Дата обращения: 29 июня 2006. Архивировано 29 января 2011 года.
12. ↑ 1 2 Джим Геттис. Lessons Learned about Open Source (англ.) (2000). Дата обращения: 29 июня 2006. Архивировано 29 января 2011 года.
13. ↑ Shaleh. xstate (англ.) (2 апреля 1998). Дата обращения: 29 июня 2006. Архивировано из оригинала 1 апреля 2004 года.
14. ↑ Мэттью Арнисон. The means to an X for Linux: an interview with David Dawes from XFree86.org (англ.) (июнь 1999). Дата обращения: 29 июня 2006. Архивировано из оригинала 18 апреля 2002 года.
15. ↑ Кристофер Браун. X11R6.4 Sample Implementation Changes and Concerns (англ.). Дата обращения: 29 июня 2006. Архивировано из оригинала 11 августа 2002 года.
16. ↑ [1]Архивная копия от 30 сентября 2007 на Wayback Machine [forum] Re: Announcement: Modification to the base XFree86™ license Архивированная копия (неопр.). Дата обращения: 29 июня 2006. Архивировано из оригинала 7 сентября 2005 года.
17. ↑ Роберт Митчелл. Q&A: The X Factor (англ.). ComputerWorld (4 февраля 2002). Дата обращения: 29 июня 2006. Архивировано 23 августа 2011 года.
18. ↑ Кит Паккард. The Evolution of the X Server Architecture (англ.) (1999). Дата обращения: 29 июня 2006. Архивировано 29 января 2011 года.
19. ↑ [forum] A Call For Open Governance Of X Development Архивировано 12 февраля 2005 года.
20. ↑ XFree86 joins X.Org as Honorary Member (англ.). Slashdot (1 декабря 1999). Дата обращения: 29 июня 2006. Архивировано 23 августа 2011 года.
21. ↑ [forum] A Call For Open Governance Of X Development Архивировано 22 декабря 2004 года.
22. ↑ [forum] A Call For Open Governance Of X Development Архивировано 6 января 2005 года.
23. ↑ [forum] Discussing issues Архивировано 27 декабря 2004 года.
24. ↑ [forum] Another teleconference partial edited transcript Архивировано 12 февраля 2005 года.
25. ↑ mharris. Diary for mharris (англ.) (9 января 2003). Дата обращения: 29 июня 2006. Архивировано 29 января 2011 года.
26. ↑ [forum] Invitation for public discussion about the future of X Архивировано 12 февраля 2005 года.
27. ↑ [forum] A Call For Open Governance Of X Development Архивировано 12 февраля 2005 года.
28. ↑ [forum] Notes from a teleconference held 2003-3-27 Архивировано 12 февраля 2005 года.
29. ↑ 1 2 Дэвид Уилер[англ.]. The Cautionary Tale of XFree86 (англ.). Make Your Open Source Software GPL-Compatible. Or Else (16 февраля 2005). Дата обращения: 29 июня 2006. Архивировано из оригинала 23 апреля 2002 года.
30. ↑ X11R6.9 and X11R7.0 Officially Released (англ.) (21 декабря 2005). Дата обращения: 29 июня 2006. Архивировано 23 августа 2011 года.
31. ↑ Пол Андерсон, Алан Куперсмит, Эгберт Эйк, Адам Джексон, Кевин Мартин, Кейт Паккард. Modularization Proposal (англ.) (2005). Дата обращения: 29 июня 2006. Архивировано 29 января 2011 года.
32. ↑ Proposed Changes for X11R7.1 (англ.). Дата обращения: 29 июня 2006. Архивировано 29 января 2011 года.
33. ↑ Кейт Паккард. Getting X Off The Hardware (англ.) (2004). Дата обращения: 29 июня 2006. Архивировано 29 января 2011 года.
34. ↑ The X Window User HOWTO: Getting Started (англ.). Дата обращения: 29 июня 2006. Архивировано 29 января 2011 года.
35. ↑ XFree86 and X11R6.3 (англ.). Release Notes for XFree86 3.3.6. XFree86 Project (31 декабря 1999). Дата обращения: 29 июня 2006. Архивировано 29 января 2011 года.
36. ↑ X Press Release — X11R6.4 (англ.). The Open Group (31 марта 1998). Дата обращения: 29 июня 2006. Архивировано 29 января 2011 года.
37. ↑ X.Org Foundation releases X Window System X11R6.7 (англ.). LWN (7 апреля 2004). Дата обращения: 29 июня 2006. Архивировано 29 января 2011 года.
38. ↑ ChangesSince68 (англ.). X.Org Wiki. Дата обращения: 29 июня 2006. Архивировано 23 августа 2011 года.
39. ↑ Release Notes for X11R7.1 (англ.). X.Org Foundation (22 марта 2006). Дата обращения: 29 июня 2006. Архивировано 23 августа 2011 года.
40. ↑ ChangesForX11R72 (англ.). X.Org Wiki. Дата обращения: 15 февраля 2007. Архивировано 23 августа 2011 года.
41. ↑ 7.3 Release notes (англ.). X.Org Foundation. Дата обращения: 13 декабря 2007. Архивировано 23 августа 2011 года.
42. ↑ X.Org Foundation Releases X7.4 (неопр.). Дата обращения: 14 февраля 2009. Архивировано 1 августа 2009 года.
43. ↑ 7.5 release announcement (неопр.). X.org. Дата обращения: 10 ноября 2009. Архивировано 7 ноября 2009 года.
44. ↑ X.Org Foundation Releases X7.5 (неопр.). Дата обращения: 9 ноября 2009. Архивировано 6 июля 2010 года.
45. ↑ X.Org Wiki — Other/Press/X11R76Released (неопр.). Дата обращения: 1 сентября 2011. Архивировано 24 декабря 2010 года.
46. ↑ X.Org Wiki — Server18Branch (неопр.). Дата обращения: 1 сентября 2011. Архивировано 26 мая 2011 года.
47. ↑ X.Org Wiki — Server19Branch (неопр.). Дата обращения: 1 сентября 2011. Архивировано 31 августа 2011 года.
48. ↑ [ANNOUNCE] X11R7.7 (неопр.). Дата обращения: 7 июня 2012. Архивировано 14 августа 2012 года.

## Литература

[править | править код]

* Линда Муи, Эрик Пирс. X Window System Volume 8: X Window System Administrator’s Guide for X11 Release 4 and Release 5. — 3rd ed. — O’Reilly, 1993. — ISBN 0-937175-83-8.
* Роберт Шейфлер, Джеймс Геттис. X Window System: Core and extension protocols: X version 11, releases 6 and 6.1. — Digital Press, 1996. — ISBN 1-55558-148-X.
* Литературу по данному вопросу можно найти в интернет-архиве: «X Window system administrator’s guide : for X version 11», «Xlib reference manual : for version 11 of the X Window System», «X Window System user’s guide : for X11 R3 and R4 of the X Window System» и др.

## Ссылки

[править | править код]

* X.Org Foundation (англ.) — официальный веб-сайт.
*   * X Window System в каталоге ссылок Curlie (dmoz)
* Window Managers for X (англ.) — веб-сайт, посвящённый различным оконным менеджерам X.
* DsY (недоступная ссылка с 14-05-2013 [4474 дня] — история) (англ.) — развитие проекта Y Window System.
* Jon Smirl. The State of Linux Graphics (англ.) (30 августа 2005). Дата обращения: 24 ноября 2007. Архивировано 23 августа 2011 года.

* Джон Смирл. Состояние графики Линукс (рус.). Дата обращения: 24 ноября 2007.

* Хорошая тематическая статья с сайта http://rus-lunux.net/ (рус.)
* Christopher Browne. 16\. On the Thesis that X is Big/Bloated/Obsolete and Should Be Replaced (англ.). Christopher Browne’s Web Pages → VI. Operating System-Centric Computing → The X Window System (2005). Дата обращения: 16 февраля 2009. Архивировано 23 августа 2011 года.
* Джим Геттис. Open Source Desktop Technology Road Map (англ.) (9 декабря 2003). Дата обращения: 29 июня 2006. Архивировано из оригинала 24 ноября 2003 года.
* Оскар Бойкин. X Marks the Spot: Looking back at X11 Developments of Past Year (англ.). OSNews (25 февраля 2004). Дата обращения: 29 июня 2006. Архивировано 23 августа 2011 года.
* Майк Пакетт. Why Apple didn’t use X for the window system (англ.). Apple Computer (19 августа 2003). Дата обращения: 29 июня 2006. Архивировано 23 августа 2011 года.
* Writing a Graphics Device Driver and DDX for the DIGITAL UNIX X Server (англ.). DEC (1997). Дата обращения: 29 июня 2006. Архивировано из оригинала 26 октября 2003 года.
* Кентон Ли. Technical X Window System and Motif WWW Sites (англ.). Дата обращения: 29 июня 2006. Архивировано 23 августа 2011 года.

Заметные реализации

* Демонстрационная реализация от фонда X.Org (англ.)
* XFree86 — на протяжении многих лет была самой популярной реализацией, особенно на открытых UNIX-подобных системах.
* Apple — Mac OS X — X11 (недоступная ссылка с 14-05-2013 [4474 дня] — история) (англ.) — X11.app, тесно интегрированная с Mac OS X.
* Win32-x11 — X-сервер под Windows-системы, основанный на GDI/DirectX.
* LibW11 — реализация Xlib под Windows-системы, использующая вызовы Win32 API.

X Window System

Архитектура|

* Основной протокол
* Xlib
* Выделение
* Менеджер сессий
* Дисплейный менеджер
* Инструментарий
* Авторизация
* Встроенные средства
* Список цветов

Менеджеры окон|

* Композитный
* Репарентинг
* Фреймовый

Расширения|

* Графическое
* Клавиатурное
* Общей памяти
* X video
* Контурное
* GLX
* XRender

Реализации|

* X.Org Server
* X-Win32
* XDarwin
* XFree86
* Xming
* XQuartz (X11.app)
* Xsun

Стандарты|

* ICCCM
* freedesktop.org

Приложения|

* xcalc
* xclock
* xedit
* xload
* xterm
* xeyes

Свободное и открытое программное обеспечение

Главное|

* СПО
* Определение
* Критерии Debian
* Gratis versus libre
* Сравнение хостингов СПО
* Открытое ПО
* Определение
* Определение свободных произведений культуры
* Дистрибутив Linux
* Сравнение ПО с открытым и закрытым кодом[англ.]

Сообщество|

* Движение СПО
* История
* GNU
* Linux
* Open-source-software movement[англ.]
* организации[англ.]
* Linux-конференции

Организации|

* ASF
* Blender Foundation
* Eclipse Foundation
* FreeBSD Foundation[англ.]
* freedesktop.org
* FSF
* FSMI
* GNOME Foundation
* Проект GNU
* Google Code
* KDE e.V.
* Linux Foundation
* Mozilla Foundation
* OSGF[англ.]
* OSI
* Software Freedom Conservancy
* SourceForge
* The Document Foundation
* Xiph.Org
* XMPP Standards Foundation
* X.Org Foundation

Лицензии|

* Apache
* Artistic[англ.]
* Beerware
* BSD
* GNU GPL
* GNU LGPL
* ISC
* MIT
* MPL
* Ms-PL/RL
* zlib
* Public domain / CC0
* WTFPL
* Разрешительные лицензии
* Apple Public Source License
* Python Software Foundation License
* Копилефт

Проблемы|

* Разнообразие лицензий
* Безопасность[англ.]
* Блоб
* Программные патенты
* DRM
* Тивоизация
* Trusted Computing
* Конфликт SCO — Linux

Прочее|

* Сообщество
* Форк
* Microsoft Open Specification Promise[англ.]
* Проприетарное ПО
* Собор и Базар
* Ради удовольствия
* Revolution OS

* Категория
* Викисклад
* Портал

Стандарты The Open Group

* ARM
* CDE
* CLI
* CMPI
* DCE
* DRDA
* LDAP
* Motif
* SUS (POSIX)
* X11