X Window System

Поделись знанием:
(перенаправлено с «X11R6»)
Перейти к: навигация, поиск
X Window System
Тип

оконная система

К:Википедия:Статьи без изображений (тип: не указан)

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 и подобных ей лицензий.[1]

X Window System часто называют X11 или просто X (в разговорной речи — «иксы́»).





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

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

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

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

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

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

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

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

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

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

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

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

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.[2] Однако в 2004 году XFree86 поменял условия лицензии, и реализация X.Org Server (которая является форком XFree86, но со свободной лицензией) стала более распространённой.

Хотя 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.

Microsoft Windows не включает в себя поддержку X, но существуют многочисленные сторонние реализации: как свободные (Cygwin/X, Xming, X-Deep/32, WeirdMind, WeirdX), так и проприетарные (Xmanager, WiredX, Exceed, X-Win32). Обычно они используются для управления удалёнными 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 extension — расширение, позволяющее ускорить вывод видеофрагментов на экран с использованием возможностей графической платы (а точнее — её драйвера) и уменьшить тем самым нагрузку на центральный процессор. Многие графические платы позволяют выводить видеоизображения в форматах кодирования цвета YUV (YUY2, I420 и т. д.), которые используются в стандартах систем аналогового цветного телевидения PAL, SÉCAM, NTSC, не переводя их предварительно в формат передачи цвета дисплея (RGB16/24/32), а также производить обратное перекодирование. Расширение Xv предоставляет информацию о доступных графических платах, количестве доступных портов (каждый порт может использовать только одно приложение), поддерживаемых форматах кодирования цвета. Всю эту информацию можно просмотреть с помощью утилиты xvinfo.

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

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

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

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

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

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

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

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

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

Сеть

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

Данные, передаваемые по сети между 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[7] — протокол для обновления 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 RT/PC, но проблемы при чтении неупорядоченных данных на 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.

В 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, и оставив после себя возрастающее коммерческое влияние в разработке.[8][9]

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.[10] Новые условия не позволяли многим проектам (например, XFree86) и даже некоторым коммерческим поставщикам принять эту версию. После угроз сделать форк со стороны XFree86[11] The Open Group сменила условия распространения X11R6.4 обратно на традиционную лицензию в сентябре 1998 года.[12] Последним выпуском под руководством The Open Group стал X11R6.4 patch 3.

X.Org и XFree86

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

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

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

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

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

Фонд 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.[26]

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

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

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

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

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

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

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

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

Версия Дата выпуска Основные изменения
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.[31]
X11R3 25 октября 1988 XDM.
X11R4 22 декабря 1989 XDMCP; twm становится стандартным оконным менеджером; улучшения в приложениях; расширение Shape; новые шрифты.
X11R5 5 сентября 1991 PEX; Xcms (управление цветом); сервер шрифтов; X386; Расширение Xvideo.
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 (Broadway)
23 декабря 1996 Функциональность WWW; LBX. Последний выпуск под руководством X Consortium. X11R6.2 — это обозначение подмножества X11R6.3, в котором единственными отличиями от R6.1 являются Xprint и реализация в Xlib вертикального письма и поддержки символов, задаваемых пользователями.[32]
X11R6.4 31 марта 1998 Xinerama.[33]
X11R6.5 Внутренний выпуск 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.[34]

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, значительный рефакторинг кода.[35]

X11R7.1 22 мая 2006 Усовершенствования EXA; интеграция Kdrive; AIGLX; улучшения в поддержке различных ОС и платформ.[36]
X11R7.2 15 февраля 2007 Удаление LBX[37] и встроенного драйвера клавиатуры, 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.[38]
X11R7.4 23 сентября 2008 XServer 1.5.1, XACE, переработка PCI, оптимизации EXA, _X_EXPORT, GLX 1.4, ускоренные запуск и выключение.[39]
X11R7.5 26 октября 2009 XServer 1.7.0[40], Xi 2, XGE, поддержка E-EDID, RandR 1.3, MPX, предсказуемое ускорение указателя, использование менеджера памяти DRI2, использование SELinux, удаление устаревших библиотек и расширений.
X11R7.6 20 декабря 2010[41] XServer 1.9.0, переход от управления устройствами с подсистемы HAL (Hardware Abstraction Layer) на использование библиотеки udev, возможность создания файлов конфигурации для отдельных устройств, поменялись ABI интерфейсов, ответственных за ввод-вывод видео, и некоторые расширения[42][43].
X11R7.7 6 июня 2012[44] XServer 1.12, поддержка мультитач, улучшенный процесс сборки документации из DocBook XML и начальная поддержка GLX и XKB в XCB.

См. также

Напишите отзыв о статье "X Window System"

Примечания

  1. [ftp.x.org/pub/X11R7.0/doc/html/LICENSE.html Licenses] (англ.). X.Org Foundation (март 2004). Проверено 29 июня 2006. [www.webcitation.org/5w60CuY8X Архивировано из первоисточника 29 января 2011].
  2. Джим Геттис. [www.xfree86.org/pipermail/forum/2004-February/003945.html Письмо в форум XFree86]. Проверено 4 января 2007. [www.webcitation.org/5w60DiCeU Архивировано из первоисточника 29 января 2011].
  3. Дон Хопкинс. [www.art.net/~hopkins/Don/unix-haters/x-windows/disaster.html The X-Windows Disaster] (англ.). The UNIX-HATERS Handbook. Проверено 29 июня 2006. [www.webcitation.org/5w60ESwzu Архивировано из первоисточника 29 января 2011].
  4. Ханя Жаевска, Марк Менес, Джоэл МакКормак [www.std.org/~msm/common/protocol.pdf Why X Is Not Our Ideal Window System] // Software — Practice & Experience. — 1990. — Т. 20, № S2.
  5. [lists.debian.org/debian-user/1996/11/msg00637.html Re: X is painful]
  6. [xprint.mozdev.org/docs/Xprint_FAQ.html#contra_xprint Xprint Frequently Asked Questions] (англ.). Проверено 29 июня 2006. [www.webcitation.org/5w60FEF8f Архивировано из первоисточника 29 января 2011].
  7. [networkimprov.net/airwrx/awscene.html airWRX — SVG Terminal]
  8. mako. [www.advogato.org/article/844.html Financing Volunteer Free Software Projects] (англ.) (15 июня 2005). Проверено 29 июня 2006. [www.webcitation.org/5w60G1s6K Архивировано из первоисточника 29 января 2011].
  9. 1 2 Джим Геттис. [www.usenix.org/publications/library/proceedings/usenix2000/invitedtalks/gettys_html/Talk.htm Lessons Learned about Open Source] (англ.) (2000). Проверено 29 июня 2006. [www.webcitation.org/5w60GqeY4 Архивировано из первоисточника 29 января 2011].
  10. Shaleh. [old.lwn.net/lwn/1998/0409/xstate.html xstate] (англ.)(недоступная ссылка — история) (2 апреля 1998). Проверено 29 июня 2006. [web.archive.org/20040401033220/old.lwn.net/lwn/1998/0409/xstate.html Архивировано из первоисточника 1 апреля 2004].
  11. Мэттью Арнисон. [www.cat.org.au/maffew/cat/xfree-dawes.html The means to an X for Linux: an interview with David Dawes from XFree86.org] (англ.)(недоступная ссылка — история) (июнь 1999). Проверено 29 июня 2006. [web.archive.org/20020418231136/www.cat.org.au/maffew/cat/xfree-dawes.html Архивировано из первоисточника 18 апреля 2002].
  12. Кристофер Браун. [cbbrowne.com/info/x11r6.4.html X11R6.4 Sample Implementation Changes and Concerns] (англ.)(недоступная ссылка — история). Проверено 29 июня 2006. [web.archive.org/20020811183745/cbbrowne.com/info/x11r6.4.html Архивировано из первоисточника 11 августа 2002].
  13. [www.xfree86.org/pipermail/forum/2004-February/003945.html [forum] Re: Announcement: Modification to the base XFree86™ license]
  14. Роберт Митчелл. [www.computerworld.com/softwaretopics/software/appdev/story/0,10801,67861,00.html Q&A: The X Factor] (англ.). ComputerWorld (4 февраля 2002). Проверено 29 июня 2006. [www.webcitation.org/6194iIx8Y Архивировано из первоисточника 23 августа 2011].
  15. Кейт Паккард. [keithp.com/~keithp/talks/Xarchitecture/Talk.htm The Evolution of the X Server Architecture] (англ.) (1999). Проверено 29 июня 2006. [www.webcitation.org/5w60Hbgpe Архивировано из первоисточника 29 января 2011].
  16. [xfree86.org/pipermail/forum/2003-March/000418.html [forum] A Call For Open Governance Of X Development]
  17. [slashdot.org/article.pl?sid=99/12/01/1342251 XFree86 joins X.Org as Honorary Member] (англ.). Slashdot (1 декабря 1999). Проверено 29 июня 2006. [www.webcitation.org/6194jCsqa Архивировано из первоисточника 23 августа 2011].
  18. [www.xfree86.org/pipermail/forum/2003-March/000554.html [forum] A Call For Open Governance Of X Development]
  19. [www.xfree86.org/pipermail/forum/2003-March/002415.html [forum] A Call For Open Governance Of X Development]
  20. [xfree86.org/pipermail/forum/2003-April/003144.html [forum] Discussing issues]
  21. [xfree86.org/pipermail/forum/2003-April/003127.html [forum] Another teleconference partial edited transcript]
  22. mharris. [www.advogato.org/person/mharris/diary.html?start=5 Diary for mharris] (англ.) (9 января 2003). Проверено 29 июня 2006. [www.webcitation.org/5w60IOpdC Архивировано из первоисточника 29 января 2011].
  23. [www.xfree86.org/pipermail/forum/2003-March/001997.html [forum] Invitation for public discussion about the future of X]
  24. [www.xfree86.org/pipermail/forum/2003-March/002165.html [forum] A Call For Open Governance Of X Development]
  25. [www.xfree86.org/pipermail/forum/2003-April/003016.html [forum] Notes from a teleconference held 2003-3-27]
  26. 1 2 Дэвид Уилер. [www.dwheeler.com/essays/gpl-compatible.html#xfree86 The Cautionary Tale of XFree86] (англ.). Make Your Open Source Software GPL-Compatible. Or Else(недоступная ссылка — история) (16 февраля 2005). Проверено 29 июня 2006. [web.archive.org/20020423030644/www.dwheeler.com/essays/gpl-compatible.html#xfree86 Архивировано из первоисточника 23 апреля 2002].
  27. [xorg.freedesktop.org/wiki/PressReleases/X11R6970Released X11R6.9 and X11R7.0 Officially Released] (англ.) (21 декабря 2005). Проверено 29 июня 2006. [www.webcitation.org/6194jnOIn Архивировано из первоисточника 23 августа 2011].
  28. Пол Андерсон, Алан Куперсмит, Эгберт Эйк, Адам Джексон, Кевин Мартин, Кейт Паккард. [wiki.x.org/wiki/ModularizationProposal Modularization Proposal] (англ.) (2005). Проверено 29 июня 2006. [www.webcitation.org/5w60J9Pa8 Архивировано из первоисточника 29 января 2011].
  29. [xorg.freedesktop.org/wiki/ChangesForX11R71 Proposed Changes for X11R7.1] (англ.). Проверено 29 июня 2006. [www.webcitation.org/5w60JxTps Архивировано из первоисточника 29 января 2011].
  30. Кейт Паккард. [keithp.com/~keithp/talks/xserver_ols2004/ Getting X Off The Hardware] (англ.) (2004). Проверено 29 июня 2006. [www.webcitation.org/5w60Ki1B7 Архивировано из первоисточника 29 января 2011].
  31. [www.linuxdocs.org/HOWTOs/XWindow-User-HOWTO-2.html The X Window User HOWTO: Getting Started] (англ.). Проверено 29 июня 2006. [www.webcitation.org/5w60LSQiw Архивировано из первоисточника 29 января 2011].
  32. [www.xfree86.org/3.3.6/RELNOTES1.html XFree86 and X11R6.3] (англ.). Release Notes for XFree86 3.3.6. XFree86 Project (31 декабря 1999). Проверено 29 июня 2006. [www.webcitation.org/5w60MJ6Qo Архивировано из первоисточника 29 января 2011].
  33. [www.opengroup.org/tech/desktop/Press_Releases/x11r6.4ga.htm X Press Release — X11R6.4] (англ.). The Open Group (31 марта 1998). Проверено 29 июня 2006. [www.webcitation.org/5w60N2yxR Архивировано из первоисточника 29 января 2011].
  34. [lwn.net/Articles/79302/ X.Org Foundation releases X Window System X11R6.7] (англ.). LWN (7 апреля 2004). Проверено 29 июня 2006. [www.webcitation.org/5w60NsHOQ Архивировано из первоисточника 29 января 2011].
  35. [xorg.freedesktop.org/wiki/ChangesSince68 ChangesSince68] (англ.). X.Org Wiki. Проверено 29 июня 2006. [www.webcitation.org/6194kX0CP Архивировано из первоисточника 23 августа 2011].
  36. [ftp.x.org/pub/X11R7.1/doc/RELNOTES.html Release Notes for X11R7.1] (англ.). X.Org Foundation (22 марта 2006). Проверено 29 июня 2006. [www.webcitation.org/6194l2hxO Архивировано из первоисточника 23 августа 2011].
  37. [xorg.freedesktop.org/wiki/ChangesForX11R72 ChangesForX11R72] (англ.). X.Org Wiki. Проверено 15 февраля 2007. [www.webcitation.org/6194lW5Rh Архивировано из первоисточника 23 августа 2011].
  38. [www.x.org/wiki/Releases/7.3 7.3 Release notes] (англ.). X.Org Foundation. Проверено 13 декабря 2007. [www.webcitation.org/61965J9p8 Архивировано из первоисточника 23 августа 2011].
  39. [x.org/wiki/Releases/7.4 X.Org Foundation Releases X7.4]
  40. [x.org/wiki/Releases/7.5 X.Org Foundation Releases X7.5]
  41. [www.x.org/wiki/Other/Press/X11R76Released X.Org Wiki — Other/Press/X11R76Released]
  42. [xorg.freedesktop.org/wiki/Server18Branch X.Org Wiki — Server18Branch]
  43. [xorg.freedesktop.org/wiki/Server19Branch X.Org Wiki — Server19Branch]
  44. [lists.x.org/archives/xorg-announce/2012-June/001977.html [ANNOUNCE] X11R7.7]

Литература

  • Линда Муи, Эрик Пирс. 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.

Ссылки

  • [www.x.org/ X.Org Foundation] (англ.) — официальный веб-сайт.
  • X Window System в каталоге ссылок Open Directory Project (dmoz).
  • [xwinman.org/ Window Managers for X] (англ.) — веб-сайт, посвящённый различным оконным менеджерам X.
  • [dsywindows.sourceforge.net/wiki/index.php/Main_Page DsY] (недоступная ссылка с 14-05-2013 (3992 дня) — история) (англ.) — развитие проекта Y Window System.
  • Jon Smirl. [jonsmirl.googlepages.com/graphics.html The State of Linux Graphics] (англ.) (30 августа 2005). Проверено 24 ноября 2007. [www.webcitation.org/61965nrBo Архивировано из первоисточника 23 августа 2011].
  • Джон Смирл. [www.teleology.ru/ru/projects_ru/informatics_ru/open_ru/graphics_state_ru Состояние графики Линукс] (рус.)(недоступная ссылка — история). Проверено 24 ноября 2007.
  • [rus-linux.net/papers/xwin/X-Window.html Хорошая тематическая статья с сайта rus-lunux.net/] (рус.)
  • Christopher Browne. [linuxfinances.info/info/xbloat.html 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. [www.webcitation.org/61966nbnU Архивировано из первоисточника 23 августа 2011].
  • Джим Геттис. [freedesktop.org/~jg/roadmap.html Open Source Desktop Technology Road Map] (англ.)(недоступная ссылка — история) (9 декабря 2003). Проверено 29 июня 2006. [web.archive.org/20031124214515/freedesktop.org/~jg/roadmap.html Архивировано из первоисточника 24 ноября 2003].
  • Оскар Бойкин. [www.osnews.com/story.php?news_id=6157 X Marks the Spot: Looking back at X11 Developments of Past Year] (англ.). OSNews (25 февраля 2004). Проверено 29 июня 2006. [www.webcitation.org/61967GNY5 Архивировано из первоисточника 23 августа 2011].
  • Майк Пакетт. [developers.slashdot.org/comments.pl?sid=75257&cid=6734612 Why Apple didn’t use X for the window system] (англ.). Apple Computer (19 августа 2003). Проверено 29 июня 2006. [www.webcitation.org/61967v3gt Архивировано из первоисточника 23 августа 2011].
  • [h30097.www3.hp.com/docs/dev_doc/DOCUMENTATION/HTML/AR5NHATE/TOC.HTM Writing a Graphics Device Driver and DDX for the DIGITAL UNIX X Server] (англ.)(недоступная ссылка — история). DEC (1997). Проверено 29 июня 2006. [web.archive.org/20031026020615/h30097.www3.hp.com/docs/dev_doc/DOCUMENTATION/HTML/AR5NHATE/TOC.HTM Архивировано из первоисточника 26 октября 2003].
  • Кентон Ли. [www.rahul.net/kenton/xsites.html Technical X Window System and Motif WWW Sites] (англ.). Проверено 29 июня 2006. [www.webcitation.org/61968QfDd Архивировано из первоисточника 23 августа 2011].
Заметные реализации
  • [xorg.freedesktop.org/wiki Демонстрационная реализация от фонда X.Org] (англ.)
  • XFree86 — на протяжении многих лет была самой популярной реализацией, особенно на открытых UNIX-подобных системах.
  • [www.apple.com/macosx/features/x11/ Apple — Mac OS X — X11] (недоступная ссылка с 14-05-2013 (3992 дня) — история) (англ.) — X11.app, тесно интегрированная с Mac OS X.
  • [sources.redhat.com/win32-x11/ Win32-x11] — X-сервер под Windows-системы, основанный на GDI/DirectX.
  • [libw11.free.fr/ LibW11] — реализация Xlib под Windows-системы, использующая вызовы Win32 API.

Отрывок, характеризующий X Window System

Paris eut ete la capitale du monde, et les Francais l'envie des nations!..
Mes loisirs ensuite et mes vieux jours eussent ete consacres, en compagnie de l'imperatrice et durant l'apprentissage royal de mon fils, a visiter lentement et en vrai couple campagnard, avec nos propres chevaux, tous les recoins de l'Empire, recevant les plaintes, redressant les torts, semant de toutes parts et partout les monuments et les bienfaits.
Русская война должна бы была быть самая популярная в новейшие времена: это была война здравого смысла и настоящих выгод, война спокойствия и безопасности всех; она была чисто миролюбивая и консервативная.
Это было для великой цели, для конца случайностей и для начала спокойствия. Новый горизонт, новые труды открывались бы, полные благосостояния и благоденствия всех. Система европейская была бы основана, вопрос заключался бы уже только в ее учреждении.
Удовлетворенный в этих великих вопросах и везде спокойный, я бы тоже имел свой конгресс и свой священный союз. Это мысли, которые у меня украли. В этом собрании великих государей мы обсуживали бы наши интересы семейно и считались бы с народами, как писец с хозяином.
Европа действительно скоро составила бы таким образом один и тот же народ, и всякий, путешествуя где бы то ни было, находился бы всегда в общей родине.
Я бы выговорил, чтобы все реки были судоходны для всех, чтобы море было общее, чтобы постоянные, большие армии были уменьшены единственно до гвардии государей и т.д.
Возвратясь во Францию, на родину, великую, сильную, великолепную, спокойную, славную, я провозгласил бы границы ее неизменными; всякую будущую войну защитительной; всякое новое распространение – антинациональным; я присоединил бы своего сына к правлению империей; мое диктаторство кончилось бы, в началось бы его конституционное правление…
Париж был бы столицей мира и французы предметом зависти всех наций!..
Потом мои досуги и последние дни были бы посвящены, с помощью императрицы и во время царственного воспитывания моего сына, на то, чтобы мало помалу посещать, как настоящая деревенская чета, на собственных лошадях, все уголки государства, принимая жалобы, устраняя несправедливости, рассевая во все стороны и везде здания и благодеяния.]
Он, предназначенный провидением на печальную, несвободную роль палача народов, уверял себя, что цель его поступков была благо народов и что он мог руководить судьбами миллионов и путем власти делать благодеяния!
«Des 400000 hommes qui passerent la Vistule, – писал он дальше о русской войне, – la moitie etait Autrichiens, Prussiens, Saxons, Polonais, Bavarois, Wurtembergeois, Mecklembourgeois, Espagnols, Italiens, Napolitains. L'armee imperiale, proprement dite, etait pour un tiers composee de Hollandais, Belges, habitants des bords du Rhin, Piemontais, Suisses, Genevois, Toscans, Romains, habitants de la 32 e division militaire, Breme, Hambourg, etc.; elle comptait a peine 140000 hommes parlant francais. L'expedition do Russie couta moins de 50000 hommes a la France actuelle; l'armee russe dans la retraite de Wilna a Moscou, dans les differentes batailles, a perdu quatre fois plus que l'armee francaise; l'incendie de Moscou a coute la vie a 100000 Russes, morts de froid et de misere dans les bois; enfin dans sa marche de Moscou a l'Oder, l'armee russe fut aussi atteinte par, l'intemperie de la saison; elle ne comptait a son arrivee a Wilna que 50000 hommes, et a Kalisch moins de 18000».
[Из 400000 человек, которые перешли Вислу, половина была австрийцы, пруссаки, саксонцы, поляки, баварцы, виртембергцы, мекленбургцы, испанцы, итальянцы и неаполитанцы. Императорская армия, собственно сказать, была на треть составлена из голландцев, бельгийцев, жителей берегов Рейна, пьемонтцев, швейцарцев, женевцев, тосканцев, римлян, жителей 32 й военной дивизии, Бремена, Гамбурга и т.д.; в ней едва ли было 140000 человек, говорящих по французски. Русская экспедиция стоила собственно Франции менее 50000 человек; русская армия в отступлении из Вильны в Москву в различных сражениях потеряла в четыре раза более, чем французская армия; пожар Москвы стоил жизни 100000 русских, умерших от холода и нищеты в лесах; наконец во время своего перехода от Москвы к Одеру русская армия тоже пострадала от суровости времени года; по приходе в Вильну она состояла только из 50000 людей, а в Калише менее 18000.]
Он воображал себе, что по его воле произошла война с Россией, и ужас совершившегося не поражал его душу. Он смело принимал на себя всю ответственность события, и его помраченный ум видел оправдание в том, что в числе сотен тысяч погибших людей было меньше французов, чем гессенцев и баварцев.


Несколько десятков тысяч человек лежало мертвыми в разных положениях и мундирах на полях и лугах, принадлежавших господам Давыдовым и казенным крестьянам, на тех полях и лугах, на которых сотни лет одновременно сбирали урожаи и пасли скот крестьяне деревень Бородина, Горок, Шевардина и Семеновского. На перевязочных пунктах на десятину места трава и земля были пропитаны кровью. Толпы раненых и нераненых разных команд людей, с испуганными лицами, с одной стороны брели назад к Можайску, с другой стороны – назад к Валуеву. Другие толпы, измученные и голодные, ведомые начальниками, шли вперед. Третьи стояли на местах и продолжали стрелять.
Над всем полем, прежде столь весело красивым, с его блестками штыков и дымами в утреннем солнце, стояла теперь мгла сырости и дыма и пахло странной кислотой селитры и крови. Собрались тучки, и стал накрапывать дождик на убитых, на раненых, на испуганных, и на изнуренных, и на сомневающихся людей. Как будто он говорил: «Довольно, довольно, люди. Перестаньте… Опомнитесь. Что вы делаете?»
Измученным, без пищи и без отдыха, людям той и другой стороны начинало одинаково приходить сомнение о том, следует ли им еще истреблять друг друга, и на всех лицах было заметно колебанье, и в каждой душе одинаково поднимался вопрос: «Зачем, для кого мне убивать и быть убитому? Убивайте, кого хотите, делайте, что хотите, а я не хочу больше!» Мысль эта к вечеру одинаково созрела в душе каждого. Всякую минуту могли все эти люди ужаснуться того, что они делали, бросить всо и побежать куда попало.
Но хотя уже к концу сражения люди чувствовали весь ужас своего поступка, хотя они и рады бы были перестать, какая то непонятная, таинственная сила еще продолжала руководить ими, и, запотелые, в порохе и крови, оставшиеся по одному на три, артиллеристы, хотя и спотыкаясь и задыхаясь от усталости, приносили заряды, заряжали, наводили, прикладывали фитили; и ядра так же быстро и жестоко перелетали с обеих сторон и расплюскивали человеческое тело, и продолжало совершаться то страшное дело, которое совершается не по воле людей, а по воле того, кто руководит людьми и мирами.
Тот, кто посмотрел бы на расстроенные зады русской армии, сказал бы, что французам стоит сделать еще одно маленькое усилие, и русская армия исчезнет; и тот, кто посмотрел бы на зады французов, сказал бы, что русским стоит сделать еще одно маленькое усилие, и французы погибнут. Но ни французы, ни русские не делали этого усилия, и пламя сражения медленно догорало.
Русские не делали этого усилия, потому что не они атаковали французов. В начале сражения они только стояли по дороге в Москву, загораживая ее, и точно так же они продолжали стоять при конце сражения, как они стояли при начале его. Но ежели бы даже цель русских состояла бы в том, чтобы сбить французов, они не могли сделать это последнее усилие, потому что все войска русских были разбиты, не было ни одной части войск, не пострадавшей в сражении, и русские, оставаясь на своих местах, потеряли половину своего войска.
Французам, с воспоминанием всех прежних пятнадцатилетних побед, с уверенностью в непобедимости Наполеона, с сознанием того, что они завладели частью поля сраженья, что они потеряли только одну четверть людей и что у них еще есть двадцатитысячная нетронутая гвардия, легко было сделать это усилие. Французам, атаковавшим русскую армию с целью сбить ее с позиции, должно было сделать это усилие, потому что до тех пор, пока русские, точно так же как и до сражения, загораживали дорогу в Москву, цель французов не была достигнута и все их усилия и потери пропали даром. Но французы не сделали этого усилия. Некоторые историки говорят, что Наполеону стоило дать свою нетронутую старую гвардию для того, чтобы сражение было выиграно. Говорить о том, что бы было, если бы Наполеон дал свою гвардию, все равно что говорить о том, что бы было, если б осенью сделалась весна. Этого не могло быть. Не Наполеон не дал своей гвардии, потому что он не захотел этого, но этого нельзя было сделать. Все генералы, офицеры, солдаты французской армии знали, что этого нельзя было сделать, потому что упадший дух войска не позволял этого.
Не один Наполеон испытывал то похожее на сновиденье чувство, что страшный размах руки падает бессильно, но все генералы, все участвовавшие и не участвовавшие солдаты французской армии, после всех опытов прежних сражений (где после вдесятеро меньших усилий неприятель бежал), испытывали одинаковое чувство ужаса перед тем врагом, который, потеряв половину войска, стоял так же грозно в конце, как и в начале сражения. Нравственная сила французской, атакующей армии была истощена. Не та победа, которая определяется подхваченными кусками материи на палках, называемых знаменами, и тем пространством, на котором стояли и стоят войска, – а победа нравственная, та, которая убеждает противника в нравственном превосходстве своего врага и в своем бессилии, была одержана русскими под Бородиным. Французское нашествие, как разъяренный зверь, получивший в своем разбеге смертельную рану, чувствовало свою погибель; но оно не могло остановиться, так же как и не могло не отклониться вдвое слабейшее русское войско. После данного толчка французское войско еще могло докатиться до Москвы; но там, без новых усилий со стороны русского войска, оно должно было погибнуть, истекая кровью от смертельной, нанесенной при Бородине, раны. Прямым следствием Бородинского сражения было беспричинное бегство Наполеона из Москвы, возвращение по старой Смоленской дороге, погибель пятисоттысячного нашествия и погибель наполеоновской Франции, на которую в первый раз под Бородиным была наложена рука сильнейшего духом противника.



Для человеческого ума непонятна абсолютная непрерывность движения. Человеку становятся понятны законы какого бы то ни было движения только тогда, когда он рассматривает произвольно взятые единицы этого движения. Но вместе с тем из этого то произвольного деления непрерывного движения на прерывные единицы проистекает большая часть человеческих заблуждений.
Известен так называемый софизм древних, состоящий в том, что Ахиллес никогда не догонит впереди идущую черепаху, несмотря на то, что Ахиллес идет в десять раз скорее черепахи: как только Ахиллес пройдет пространство, отделяющее его от черепахи, черепаха пройдет впереди его одну десятую этого пространства; Ахиллес пройдет эту десятую, черепаха пройдет одну сотую и т. д. до бесконечности. Задача эта представлялась древним неразрешимою. Бессмысленность решения (что Ахиллес никогда не догонит черепаху) вытекала из того только, что произвольно были допущены прерывные единицы движения, тогда как движение и Ахиллеса и черепахи совершалось непрерывно.
Принимая все более и более мелкие единицы движения, мы только приближаемся к решению вопроса, но никогда не достигаем его. Только допустив бесконечно малую величину и восходящую от нее прогрессию до одной десятой и взяв сумму этой геометрической прогрессии, мы достигаем решения вопроса. Новая отрасль математики, достигнув искусства обращаться с бесконечно малыми величинами, и в других более сложных вопросах движения дает теперь ответы на вопросы, казавшиеся неразрешимыми.
Эта новая, неизвестная древним, отрасль математики, при рассмотрении вопросов движения, допуская бесконечно малые величины, то есть такие, при которых восстановляется главное условие движения (абсолютная непрерывность), тем самым исправляет ту неизбежную ошибку, которую ум человеческий не может не делать, рассматривая вместо непрерывного движения отдельные единицы движения.
В отыскании законов исторического движения происходит совершенно то же.
Движение человечества, вытекая из бесчисленного количества людских произволов, совершается непрерывно.
Постижение законов этого движения есть цель истории. Но для того, чтобы постигнуть законы непрерывного движения суммы всех произволов людей, ум человеческий допускает произвольные, прерывные единицы. Первый прием истории состоит в том, чтобы, взяв произвольный ряд непрерывных событий, рассматривать его отдельно от других, тогда как нет и не может быть начала никакого события, а всегда одно событие непрерывно вытекает из другого. Второй прием состоит в том, чтобы рассматривать действие одного человека, царя, полководца, как сумму произволов людей, тогда как сумма произволов людских никогда не выражается в деятельности одного исторического лица.
Историческая наука в движении своем постоянно принимает все меньшие и меньшие единицы для рассмотрения и этим путем стремится приблизиться к истине. Но как ни мелки единицы, которые принимает история, мы чувствуем, что допущение единицы, отделенной от другой, допущение начала какого нибудь явления и допущение того, что произволы всех людей выражаются в действиях одного исторического лица, ложны сами в себе.
Всякий вывод истории, без малейшего усилия со стороны критики, распадается, как прах, ничего не оставляя за собой, только вследствие того, что критика избирает за предмет наблюдения большую или меньшую прерывную единицу; на что она всегда имеет право, так как взятая историческая единица всегда произвольна.
Только допустив бесконечно малую единицу для наблюдения – дифференциал истории, то есть однородные влечения людей, и достигнув искусства интегрировать (брать суммы этих бесконечно малых), мы можем надеяться на постигновение законов истории.
Первые пятнадцать лет XIX столетия в Европе представляют необыкновенное движение миллионов людей. Люди оставляют свои обычные занятия, стремятся с одной стороны Европы в другую, грабят, убивают один другого, торжествуют и отчаиваются, и весь ход жизни на несколько лет изменяется и представляет усиленное движение, которое сначала идет возрастая, потом ослабевая. Какая причина этого движения или по каким законам происходило оно? – спрашивает ум человеческий.
Историки, отвечая на этот вопрос, излагают нам деяния и речи нескольких десятков людей в одном из зданий города Парижа, называя эти деяния и речи словом революция; потом дают подробную биографию Наполеона и некоторых сочувственных и враждебных ему лиц, рассказывают о влиянии одних из этих лиц на другие и говорят: вот отчего произошло это движение, и вот законы его.
Но ум человеческий не только отказывается верить в это объяснение, но прямо говорит, что прием объяснения не верен, потому что при этом объяснении слабейшее явление принимается за причину сильнейшего. Сумма людских произволов сделала и революцию и Наполеона, и только сумма этих произволов терпела их и уничтожила.
«Но всякий раз, когда были завоевания, были завоеватели; всякий раз, когда делались перевороты в государстве, были великие люди», – говорит история. Действительно, всякий раз, когда являлись завоеватели, были и войны, отвечает ум человеческий, но это не доказывает, чтобы завоеватели были причинами войн и чтобы возможно было найти законы войны в личной деятельности одного человека. Всякий раз, когда я, глядя на свои часы, вижу, что стрелка подошла к десяти, я слышу, что в соседней церкви начинается благовест, но из того, что всякий раз, что стрелка приходит на десять часов тогда, как начинается благовест, я не имею права заключить, что положение стрелки есть причина движения колоколов.
Всякий раз, как я вижу движение паровоза, я слышу звук свиста, вижу открытие клапана и движение колес; но из этого я не имею права заключить, что свист и движение колес суть причины движения паровоза.
Крестьяне говорят, что поздней весной дует холодный ветер, потому что почка дуба развертывается, и действительно, всякую весну дует холодный ветер, когда развертывается дуб. Но хотя причина дующего при развертыванье дуба холодного ветра мне неизвестна, я не могу согласиться с крестьянами в том, что причина холодного ветра есть раэвертыванье почки дуба, потому только, что сила ветра находится вне влияний почки. Я вижу только совпадение тех условий, которые бывают во всяком жизненном явлении, и вижу, что, сколько бы и как бы подробно я ни наблюдал стрелку часов, клапан и колеса паровоза и почку дуба, я не узнаю причину благовеста, движения паровоза и весеннего ветра. Для этого я должен изменить совершенно свою точку наблюдения и изучать законы движения пара, колокола и ветра. То же должна сделать история. И попытки этого уже были сделаны.
Для изучения законов истории мы должны изменить совершенно предмет наблюдения, оставить в покое царей, министров и генералов, а изучать однородные, бесконечно малые элементы, которые руководят массами. Никто не может сказать, насколько дано человеку достигнуть этим путем понимания законов истории; но очевидно, что на этом пути только лежит возможность уловления исторических законов и что на этом пути не положено еще умом человеческим одной миллионной доли тех усилий, которые положены историками на описание деяний различных царей, полководцев и министров и на изложение своих соображений по случаю этих деяний.


Силы двунадесяти языков Европы ворвались в Россию. Русское войско и население отступают, избегая столкновения, до Смоленска и от Смоленска до Бородина. Французское войско с постоянно увеличивающеюся силой стремительности несется к Москве, к цели своего движения. Сила стремительности его, приближаясь к цели, увеличивается подобно увеличению быстроты падающего тела по мере приближения его к земле. Назади тысяча верст голодной, враждебной страны; впереди десятки верст, отделяющие от цели. Это чувствует всякий солдат наполеоновской армии, и нашествие надвигается само собой, по одной силе стремительности.
В русском войске по мере отступления все более и более разгорается дух озлобления против врага: отступая назад, оно сосредоточивается и нарастает. Под Бородиным происходит столкновение. Ни то, ни другое войско не распадаются, но русское войско непосредственно после столкновения отступает так же необходимо, как необходимо откатывается шар, столкнувшись с другим, с большей стремительностью несущимся на него шаром; и так же необходимо (хотя и потерявший всю свою силу в столкновении) стремительно разбежавшийся шар нашествия прокатывается еще некоторое пространство.
Русские отступают за сто двадцать верст – за Москву, французы доходят до Москвы и там останавливаются. В продолжение пяти недель после этого нет ни одного сражения. Французы не двигаются. Подобно смертельно раненному зверю, который, истекая кровью, зализывает свои раны, они пять недель остаются в Москве, ничего не предпринимая, и вдруг, без всякой новой причины, бегут назад: бросаются на Калужскую дорогу (и после победы, так как опять поле сражения осталось за ними под Малоярославцем), не вступая ни в одно серьезное сражение, бегут еще быстрее назад в Смоленск, за Смоленск, за Вильну, за Березину и далее.
В вечер 26 го августа и Кутузов, и вся русская армия были уверены, что Бородинское сражение выиграно. Кутузов так и писал государю. Кутузов приказал готовиться на новый бой, чтобы добить неприятеля не потому, чтобы он хотел кого нибудь обманывать, но потому, что он знал, что враг побежден, так же как знал это каждый из участников сражения.
Но в тот же вечер и на другой день стали, одно за другим, приходить известия о потерях неслыханных, о потере половины армии, и новое сражение оказалось физически невозможным.
Нельзя было давать сражения, когда еще не собраны были сведения, не убраны раненые, не пополнены снаряды, не сочтены убитые, не назначены новые начальники на места убитых, не наелись и не выспались люди.
А вместе с тем сейчас же после сражения, на другое утро, французское войско (по той стремительной силе движения, увеличенного теперь как бы в обратном отношении квадратов расстояний) уже надвигалось само собой на русское войско. Кутузов хотел атаковать на другой день, и вся армия хотела этого. Но для того чтобы атаковать, недостаточно желания сделать это; нужно, чтоб была возможность это сделать, а возможности этой не было. Нельзя было не отступить на один переход, потом точно так же нельзя было не отступить на другой и на третий переход, и наконец 1 го сентября, – когда армия подошла к Москве, – несмотря на всю силу поднявшегося чувства в рядах войск, сила вещей требовала того, чтобы войска эти шли за Москву. И войска отступили ещо на один, на последний переход и отдали Москву неприятелю.
Для тех людей, которые привыкли думать, что планы войн и сражений составляются полководцами таким же образом, как каждый из нас, сидя в своем кабинете над картой, делает соображения о том, как и как бы он распорядился в таком то и таком то сражении, представляются вопросы, почему Кутузов при отступлении не поступил так то и так то, почему он не занял позиции прежде Филей, почему он не отступил сразу на Калужскую дорогу, оставил Москву, и т. д. Люди, привыкшие так думать, забывают или не знают тех неизбежных условий, в которых всегда происходит деятельность всякого главнокомандующего. Деятельность полководца не имеет ни малейшего подобия с тою деятельностью, которую мы воображаем себе, сидя свободно в кабинете, разбирая какую нибудь кампанию на карте с известным количеством войска, с той и с другой стороны, и в известной местности, и начиная наши соображения с какого нибудь известного момента. Главнокомандующий никогда не бывает в тех условиях начала какого нибудь события, в которых мы всегда рассматриваем событие. Главнокомандующий всегда находится в средине движущегося ряда событий, и так, что никогда, ни в какую минуту, он не бывает в состоянии обдумать все значение совершающегося события. Событие незаметно, мгновение за мгновением, вырезается в свое значение, и в каждый момент этого последовательного, непрерывного вырезывания события главнокомандующий находится в центре сложнейшей игры, интриг, забот, зависимости, власти, проектов, советов, угроз, обманов, находится постоянно в необходимости отвечать на бесчисленное количество предлагаемых ему, всегда противоречащих один другому, вопросов.
Нам пресерьезно говорят ученые военные, что Кутузов еще гораздо прежде Филей должен был двинуть войска на Калужскую дорогу, что даже кто то предлагал таковой проект. Но перед главнокомандующим, особенно в трудную минуту, бывает не один проект, а всегда десятки одновременно. И каждый из этих проектов, основанных на стратегии и тактике, противоречит один другому. Дело главнокомандующего, казалось бы, состоит только в том, чтобы выбрать один из этих проектов. Но и этого он не может сделать. События и время не ждут. Ему предлагают, положим, 28 го числа перейти на Калужскую дорогу, но в это время прискакивает адъютант от Милорадовича и спрашивает, завязывать ли сейчас дело с французами или отступить. Ему надо сейчас, сию минуту, отдать приказанье. А приказанье отступить сбивает нас с поворота на Калужскую дорогу. И вслед за адъютантом интендант спрашивает, куда везти провиант, а начальник госпиталей – куда везти раненых; а курьер из Петербурга привозит письмо государя, не допускающее возможности оставить Москву, а соперник главнокомандующего, тот, кто подкапывается под него (такие всегда есть, и не один, а несколько), предлагает новый проект, диаметрально противоположный плану выхода на Калужскую дорогу; а силы самого главнокомандующего требуют сна и подкрепления; а обойденный наградой почтенный генерал приходит жаловаться, а жители умоляют о защите; посланный офицер для осмотра местности приезжает и доносит совершенно противоположное тому, что говорил перед ним посланный офицер; а лазутчик, пленный и делавший рекогносцировку генерал – все описывают различно положение неприятельской армии. Люди, привыкшие не понимать или забывать эти необходимые условия деятельности всякого главнокомандующего, представляют нам, например, положение войск в Филях и при этом предполагают, что главнокомандующий мог 1 го сентября совершенно свободно разрешать вопрос об оставлении или защите Москвы, тогда как при положении русской армии в пяти верстах от Москвы вопроса этого не могло быть. Когда же решился этот вопрос? И под Дриссой, и под Смоленском, и ощутительнее всего 24 го под Шевардиным, и 26 го под Бородиным, и в каждый день, и час, и минуту отступления от Бородина до Филей.


Русские войска, отступив от Бородина, стояли у Филей. Ермолов, ездивший для осмотра позиции, подъехал к фельдмаршалу.
– Драться на этой позиции нет возможности, – сказал он. Кутузов удивленно посмотрел на него и заставил его повторить сказанные слова. Когда он проговорил, Кутузов протянул ему руку.
– Дай ка руку, – сказал он, и, повернув ее так, чтобы ощупать его пульс, он сказал: – Ты нездоров, голубчик. Подумай, что ты говоришь.
Кутузов на Поклонной горе, в шести верстах от Дорогомиловской заставы, вышел из экипажа и сел на лавку на краю дороги. Огромная толпа генералов собралась вокруг него. Граф Растопчин, приехав из Москвы, присоединился к ним. Все это блестящее общество, разбившись на несколько кружков, говорило между собой о выгодах и невыгодах позиции, о положении войск, о предполагаемых планах, о состоянии Москвы, вообще о вопросах военных. Все чувствовали, что хотя и не были призваны на то, что хотя это не было так названо, но что это был военный совет. Разговоры все держались в области общих вопросов. Ежели кто и сообщал или узнавал личные новости, то про это говорилось шепотом, и тотчас переходили опять к общим вопросам: ни шуток, ни смеха, ни улыбок даже не было заметно между всеми этими людьми. Все, очевидно, с усилием, старались держаться на высота положения. И все группы, разговаривая между собой, старались держаться в близости главнокомандующего (лавка которого составляла центр в этих кружках) и говорили так, чтобы он мог их слышать. Главнокомандующий слушал и иногда переспрашивал то, что говорили вокруг него, но сам не вступал в разговор и не выражал никакого мнения. Большей частью, послушав разговор какого нибудь кружка, он с видом разочарования, – как будто совсем не о том они говорили, что он желал знать, – отворачивался. Одни говорили о выбранной позиции, критикуя не столько самую позицию, сколько умственные способности тех, которые ее выбрали; другие доказывали, что ошибка была сделана прежде, что надо было принять сраженье еще третьего дня; третьи говорили о битве при Саламанке, про которую рассказывал только что приехавший француз Кросар в испанском мундире. (Француз этот вместе с одним из немецких принцев, служивших в русской армии, разбирал осаду Сарагоссы, предвидя возможность так же защищать Москву.) В четвертом кружке граф Растопчин говорил о том, что он с московской дружиной готов погибнуть под стенами столицы, но что все таки он не может не сожалеть о той неизвестности, в которой он был оставлен, и что, ежели бы он это знал прежде, было бы другое… Пятые, выказывая глубину своих стратегических соображений, говорили о том направлении, которое должны будут принять войска. Шестые говорили совершенную бессмыслицу. Лицо Кутузова становилось все озабоченнее и печальнее. Из всех разговоров этих Кутузов видел одно: защищать Москву не было никакой физической возможности в полном значении этих слов, то есть до такой степени не было возможности, что ежели бы какой нибудь безумный главнокомандующий отдал приказ о даче сражения, то произошла бы путаница и сражения все таки бы не было; не было бы потому, что все высшие начальники не только признавали эту позицию невозможной, но в разговорах своих обсуждали только то, что произойдет после несомненного оставления этой позиции. Как же могли начальники вести свои войска на поле сражения, которое они считали невозможным? Низшие начальники, даже солдаты (которые тоже рассуждают), также признавали позицию невозможной и потому не могли идти драться с уверенностью поражения. Ежели Бенигсен настаивал на защите этой позиции и другие еще обсуждали ее, то вопрос этот уже не имел значения сам по себе, а имел значение только как предлог для спора и интриги. Это понимал Кутузов.
Бенигсен, выбрав позицию, горячо выставляя свой русский патриотизм (которого не мог, не морщась, выслушивать Кутузов), настаивал на защите Москвы. Кутузов ясно как день видел цель Бенигсена: в случае неудачи защиты – свалить вину на Кутузова, доведшего войска без сражения до Воробьевых гор, а в случае успеха – себе приписать его; в случае же отказа – очистить себя в преступлении оставления Москвы. Но этот вопрос интриги не занимал теперь старого человека. Один страшный вопрос занимал его. И на вопрос этот он ни от кого не слышал ответа. Вопрос состоял для него теперь только в том: «Неужели это я допустил до Москвы Наполеона, и когда же я это сделал? Когда это решилось? Неужели вчера, когда я послал к Платову приказ отступить, или третьего дня вечером, когда я задремал и приказал Бенигсену распорядиться? Или еще прежде?.. но когда, когда же решилось это страшное дело? Москва должна быть оставлена. Войска должны отступить, и надо отдать это приказание». Отдать это страшное приказание казалось ему одно и то же, что отказаться от командования армией. А мало того, что он любил власть, привык к ней (почет, отдаваемый князю Прозоровскому, при котором он состоял в Турции, дразнил его), он был убежден, что ему было предназначено спасение России и что потому только, против воли государя и по воле народа, он был избрал главнокомандующим. Он был убежден, что он один и этих трудных условиях мог держаться во главе армии, что он один во всем мире был в состоянии без ужаса знать своим противником непобедимого Наполеона; и он ужасался мысли о том приказании, которое он должен был отдать. Но надо было решить что нибудь, надо было прекратить эти разговоры вокруг него, которые начинали принимать слишком свободный характер.
Он подозвал к себе старших генералов.
– Ma tete fut elle bonne ou mauvaise, n'a qu'a s'aider d'elle meme, [Хороша ли, плоха ли моя голова, а положиться больше не на кого,] – сказал он, вставая с лавки, и поехал в Фили, где стояли его экипажи.


В просторной, лучшей избе мужика Андрея Савостьянова в два часа собрался совет. Мужики, бабы и дети мужицкой большой семьи теснились в черной избе через сени. Одна только внучка Андрея, Малаша, шестилетняя девочка, которой светлейший, приласкав ее, дал за чаем кусок сахара, оставалась на печи в большой избе. Малаша робко и радостно смотрела с печи на лица, мундиры и кресты генералов, одного за другим входивших в избу и рассаживавшихся в красном углу, на широких лавках под образами. Сам дедушка, как внутренне называла Maлаша Кутузова, сидел от них особо, в темном углу за печкой. Он сидел, глубоко опустившись в складное кресло, и беспрестанно покряхтывал и расправлял воротник сюртука, который, хотя и расстегнутый, все как будто жал его шею. Входившие один за другим подходили к фельдмаршалу; некоторым он пожимал руку, некоторым кивал головой. Адъютант Кайсаров хотел было отдернуть занавеску в окне против Кутузова, но Кутузов сердито замахал ему рукой, и Кайсаров понял, что светлейший не хочет, чтобы видели его лицо.
Вокруг мужицкого елового стола, на котором лежали карты, планы, карандаши, бумаги, собралось так много народа, что денщики принесли еще лавку и поставили у стола. На лавку эту сели пришедшие: Ермолов, Кайсаров и Толь. Под самыми образами, на первом месте, сидел с Георгием на шее, с бледным болезненным лицом и с своим высоким лбом, сливающимся с голой головой, Барклай де Толли. Второй уже день он мучился лихорадкой, и в это самое время его знобило и ломало. Рядом с ним сидел Уваров и негромким голосом (как и все говорили) что то, быстро делая жесты, сообщал Барклаю. Маленький, кругленький Дохтуров, приподняв брови и сложив руки на животе, внимательно прислушивался. С другой стороны сидел, облокотивши на руку свою широкую, с смелыми чертами и блестящими глазами голову, граф Остерман Толстой и казался погруженным в свои мысли. Раевский с выражением нетерпения, привычным жестом наперед курчавя свои черные волосы на висках, поглядывал то на Кутузова, то на входную дверь. Твердое, красивое и доброе лицо Коновницына светилось нежной и хитрой улыбкой. Он встретил взгляд Малаши и глазами делал ей знаки, которые заставляли девочку улыбаться.
Все ждали Бенигсена, который доканчивал свой вкусный обед под предлогом нового осмотра позиции. Его ждали от четырех до шести часов, и во все это время не приступали к совещанию и тихими голосами вели посторонние разговоры.
Только когда в избу вошел Бенигсен, Кутузов выдвинулся из своего угла и подвинулся к столу, но настолько, что лицо его не было освещено поданными на стол свечами.
Бенигсен открыл совет вопросом: «Оставить ли без боя священную и древнюю столицу России или защищать ее?» Последовало долгое и общее молчание. Все лица нахмурились, и в тишине слышалось сердитое кряхтенье и покашливанье Кутузова. Все глаза смотрели на него. Малаша тоже смотрела на дедушку. Она ближе всех была к нему и видела, как лицо его сморщилось: он точно собрался плакать. Но это продолжалось недолго.
– Священную древнюю столицу России! – вдруг заговорил он, сердитым голосом повторяя слова Бенигсена и этим указывая на фальшивую ноту этих слов. – Позвольте вам сказать, ваше сиятельство, что вопрос этот не имеет смысла для русского человека. (Он перевалился вперед своим тяжелым телом.) Такой вопрос нельзя ставить, и такой вопрос не имеет смысла. Вопрос, для которого я просил собраться этих господ, это вопрос военный. Вопрос следующий: «Спасенье России в армии. Выгоднее ли рисковать потерею армии и Москвы, приняв сраженье, или отдать Москву без сражения? Вот на какой вопрос я желаю знать ваше мнение». (Он откачнулся назад на спинку кресла.)
Начались прения. Бенигсен не считал еще игру проигранною. Допуская мнение Барклая и других о невозможности принять оборонительное сражение под Филями, он, проникнувшись русским патриотизмом и любовью к Москве, предлагал перевести войска в ночи с правого на левый фланг и ударить на другой день на правое крыло французов. Мнения разделились, были споры в пользу и против этого мнения. Ермолов, Дохтуров и Раевский согласились с мнением Бенигсена. Руководимые ли чувством потребности жертвы пред оставлением столицы или другими личными соображениями, но эти генералы как бы не понимали того, что настоящий совет не мог изменить неизбежного хода дел и что Москва уже теперь оставлена. Остальные генералы понимали это и, оставляя в стороне вопрос о Москве, говорили о том направлении, которое в своем отступлении должно было принять войско. Малаша, которая, не спуская глаз, смотрела на то, что делалось перед ней, иначе понимала значение этого совета. Ей казалось, что дело было только в личной борьбе между «дедушкой» и «длиннополым», как она называла Бенигсена. Она видела, что они злились, когда говорили друг с другом, и в душе своей она держала сторону дедушки. В средине разговора она заметила быстрый лукавый взгляд, брошенный дедушкой на Бенигсена, и вслед за тем, к радости своей, заметила, что дедушка, сказав что то длиннополому, осадил его: Бенигсен вдруг покраснел и сердито прошелся по избе. Слова, так подействовавшие на Бенигсена, были спокойным и тихим голосом выраженное Кутузовым мнение о выгоде и невыгоде предложения Бенигсена: о переводе в ночи войск с правого на левый фланг для атаки правого крыла французов.
– Я, господа, – сказал Кутузов, – не могу одобрить плана графа. Передвижения войск в близком расстоянии от неприятеля всегда бывают опасны, и военная история подтверждает это соображение. Так, например… (Кутузов как будто задумался, приискивая пример и светлым, наивным взглядом глядя на Бенигсена.) Да вот хоть бы Фридландское сражение, которое, как я думаю, граф хорошо помнит, было… не вполне удачно только оттого, что войска наши перестроивались в слишком близком расстоянии от неприятеля… – Последовало, показавшееся всем очень продолжительным, минутное молчание.
Прения опять возобновились, но часто наступали перерывы, и чувствовалось, что говорить больше не о чем.
Во время одного из таких перерывов Кутузов тяжело вздохнул, как бы сбираясь говорить. Все оглянулись на него.
– Eh bien, messieurs! Je vois que c'est moi qui payerai les pots casses, [Итак, господа, стало быть, мне платить за перебитые горшки,] – сказал он. И, медленно приподнявшись, он подошел к столу. – Господа, я слышал ваши мнения. Некоторые будут несогласны со мной. Но я (он остановился) властью, врученной мне моим государем и отечеством, я – приказываю отступление.
Вслед за этим генералы стали расходиться с той же торжественной и молчаливой осторожностью, с которой расходятся после похорон.
Некоторые из генералов негромким голосом, совсем в другом диапазоне, чем когда они говорили на совете, передали кое что главнокомандующему.
Малаша, которую уже давно ждали ужинать, осторожно спустилась задом с полатей, цепляясь босыми ножонками за уступы печки, и, замешавшись между ног генералов, шмыгнула в дверь.
Отпустив генералов, Кутузов долго сидел, облокотившись на стол, и думал все о том же страшном вопросе: «Когда же, когда же наконец решилось то, что оставлена Москва? Когда было сделано то, что решило вопрос, и кто виноват в этом?»
– Этого, этого я не ждал, – сказал он вошедшему к нему, уже поздно ночью, адъютанту Шнейдеру, – этого я не ждал! Этого я не думал!
– Вам надо отдохнуть, ваша светлость, – сказал Шнейдер.
– Да нет же! Будут же они лошадиное мясо жрать, как турки, – не отвечая, прокричал Кутузов, ударяя пухлым кулаком по столу, – будут и они, только бы…


В противоположность Кутузову, в то же время, в событии еще более важнейшем, чем отступление армии без боя, в оставлении Москвы и сожжении ее, Растопчин, представляющийся нам руководителем этого события, действовал совершенно иначе.
Событие это – оставление Москвы и сожжение ее – было так же неизбежно, как и отступление войск без боя за Москву после Бородинского сражения.
Каждый русский человек, не на основании умозаключений, а на основании того чувства, которое лежит в нас и лежало в наших отцах, мог бы предсказать то, что совершилось.
Начиная от Смоленска, во всех городах и деревнях русской земли, без участия графа Растопчина и его афиш, происходило то же самое, что произошло в Москве. Народ с беспечностью ждал неприятеля, не бунтовал, не волновался, никого не раздирал на куски, а спокойно ждал своей судьбы, чувствуя в себе силы в самую трудную минуту найти то, что должно было сделать. И как только неприятель подходил, богатейшие элементы населения уходили, оставляя свое имущество; беднейшие оставались и зажигали и истребляли то, что осталось.
Сознание того, что это так будет, и всегда так будет, лежало и лежит в душе русского человека. И сознание это и, более того, предчувствие того, что Москва будет взята, лежало в русском московском обществе 12 го года. Те, которые стали выезжать из Москвы еще в июле и начале августа, показали, что они ждали этого. Те, которые выезжали с тем, что они могли захватить, оставляя дома и половину имущества, действовали так вследствие того скрытого (latent) патриотизма, который выражается не фразами, не убийством детей для спасения отечества и т. п. неестественными действиями, а который выражается незаметно, просто, органически и потому производит всегда самые сильные результаты.
«Стыдно бежать от опасности; только трусы бегут из Москвы», – говорили им. Растопчин в своих афишках внушал им, что уезжать из Москвы было позорно. Им совестно было получать наименование трусов, совестно было ехать, но они все таки ехали, зная, что так надо было. Зачем они ехали? Нельзя предположить, чтобы Растопчин напугал их ужасами, которые производил Наполеон в покоренных землях. Уезжали, и первые уехали богатые, образованные люди, знавшие очень хорошо, что Вена и Берлин остались целы и что там, во время занятия их Наполеоном, жители весело проводили время с обворожительными французами, которых так любили тогда русские мужчины и в особенности дамы.
Они ехали потому, что для русских людей не могло быть вопроса: хорошо ли или дурно будет под управлением французов в Москве. Под управлением французов нельзя было быть: это было хуже всего. Они уезжали и до Бородинского сражения, и еще быстрее после Бородинского сражения, невзирая на воззвания к защите, несмотря на заявления главнокомандующего Москвы о намерении его поднять Иверскую и идти драться, и на воздушные шары, которые должны были погубить французов, и несмотря на весь тот вздор, о котором нисал Растопчин в своих афишах. Они знали, что войско должно драться, и что ежели оно не может, то с барышнями и дворовыми людьми нельзя идти на Три Горы воевать с Наполеоном, а что надо уезжать, как ни жалко оставлять на погибель свое имущество. Они уезжали и не думали о величественном значении этой громадной, богатой столицы, оставленной жителями и, очевидно, сожженной (большой покинутый деревянный город необходимо должен был сгореть); они уезжали каждый для себя, а вместе с тем только вследствие того, что они уехали, и совершилось то величественное событие, которое навсегда останется лучшей славой русского народа. Та барыня, которая еще в июне месяце с своими арапами и шутихами поднималась из Москвы в саратовскую деревню, с смутным сознанием того, что она Бонапарту не слуга, и со страхом, чтобы ее не остановили по приказанию графа Растопчина, делала просто и истинно то великое дело, которое спасло Россию. Граф же Растопчин, который то стыдил тех, которые уезжали, то вывозил присутственные места, то выдавал никуда не годное оружие пьяному сброду, то поднимал образа, то запрещал Августину вывозить мощи и иконы, то захватывал все частные подводы, бывшие в Москве, то на ста тридцати шести подводах увозил делаемый Леппихом воздушный шар, то намекал на то, что он сожжет Москву, то рассказывал, как он сжег свой дом и написал прокламацию французам, где торжественно упрекал их, что они разорили его детский приют; то принимал славу сожжения Москвы, то отрекался от нее, то приказывал народу ловить всех шпионов и приводить к нему, то упрекал за это народ, то высылал всех французов из Москвы, то оставлял в городе г жу Обер Шальме, составлявшую центр всего французского московского населения, а без особой вины приказывал схватить и увезти в ссылку старого почтенного почт директора Ключарева; то сбирал народ на Три Горы, чтобы драться с французами, то, чтобы отделаться от этого народа, отдавал ему на убийство человека и сам уезжал в задние ворота; то говорил, что он не переживет несчастия Москвы, то писал в альбомы по французски стихи о своем участии в этом деле, – этот человек не понимал значения совершающегося события, а хотел только что то сделать сам, удивить кого то, что то совершить патриотически геройское и, как мальчик, резвился над величавым и неизбежным событием оставления и сожжения Москвы и старался своей маленькой рукой то поощрять, то задерживать течение громадного, уносившего его вместе с собой, народного потока.


Элен, возвратившись вместе с двором из Вильны в Петербург, находилась в затруднительном положении.
В Петербурге Элен пользовалась особым покровительством вельможи, занимавшего одну из высших должностей в государстве. В Вильне же она сблизилась с молодым иностранным принцем. Когда она возвратилась в Петербург, принц и вельможа были оба в Петербурге, оба заявляли свои права, и для Элен представилась новая еще в ее карьере задача: сохранить свою близость отношений с обоими, не оскорбив ни одного.
То, что показалось бы трудным и даже невозможным для другой женщины, ни разу не заставило задуматься графиню Безухову, недаром, видно, пользовавшуюся репутацией умнейшей женщины. Ежели бы она стала скрывать свои поступки, выпутываться хитростью из неловкого положения, она бы этим самым испортила свое дело, сознав себя виноватою; но Элен, напротив, сразу, как истинно великий человек, который может все то, что хочет, поставила себя в положение правоты, в которую она искренно верила, а всех других в положение виноватости.
В первый раз, как молодое иностранное лицо позволило себе делать ей упреки, она, гордо подняв свою красивую голову и вполуоборот повернувшись к нему, твердо сказала:
– Voila l'egoisme et la cruaute des hommes! Je ne m'attendais pas a autre chose. Za femme se sacrifie pour vous, elle souffre, et voila sa recompense. Quel droit avez vous, Monseigneur, de me demander compte de mes amities, de mes affections? C'est un homme qui a ete plus qu'un pere pour moi. [Вот эгоизм и жестокость мужчин! Я ничего лучшего и не ожидала. Женщина приносит себя в жертву вам; она страдает, и вот ей награда. Ваше высочество, какое имеете вы право требовать от меня отчета в моих привязанностях и дружеских чувствах? Это человек, бывший для меня больше чем отцом.]
Лицо хотело что то сказать. Элен перебила его.
– Eh bien, oui, – сказала она, – peut etre qu'il a pour moi d'autres sentiments que ceux d'un pere, mais ce n'est; pas une raison pour que je lui ferme ma porte. Je ne suis pas un homme pour etre ingrate. Sachez, Monseigneur, pour tout ce qui a rapport a mes sentiments intimes, je ne rends compte qu'a Dieu et a ma conscience, [Ну да, может быть, чувства, которые он питает ко мне, не совсем отеческие; но ведь из за этого не следует же мне отказывать ему от моего дома. Я не мужчина, чтобы платить неблагодарностью. Да будет известно вашему высочеству, что в моих задушевных чувствах я отдаю отчет только богу и моей совести.] – кончила она, дотрогиваясь рукой до высоко поднявшейся красивой груди и взглядывая на небо.
– Mais ecoutez moi, au nom de Dieu. [Но выслушайте меня, ради бога.]
– Epousez moi, et je serai votre esclave. [Женитесь на мне, и я буду вашею рабою.]
– Mais c'est impossible. [Но это невозможно.]
– Vous ne daignez pas descende jusqu'a moi, vous… [Вы не удостаиваете снизойти до брака со мною, вы…] – заплакав, сказала Элен.
Лицо стало утешать ее; Элен же сквозь слезы говорила (как бы забывшись), что ничто не может мешать ей выйти замуж, что есть примеры (тогда еще мало было примеров, но она назвала Наполеона и других высоких особ), что она никогда не была женою своего мужа, что она была принесена в жертву.
– Но законы, религия… – уже сдаваясь, говорило лицо.
– Законы, религия… На что бы они были выдуманы, ежели бы они не могли сделать этого! – сказала Элен.
Важное лицо было удивлено тем, что такое простое рассуждение могло не приходить ему в голову, и обратилось за советом к святым братьям Общества Иисусова, с которыми оно находилось в близких отношениях.
Через несколько дней после этого, на одном из обворожительных праздников, который давала Элен на своей даче на Каменном острову, ей был представлен немолодой, с белыми как снег волосами и черными блестящими глазами, обворожительный m r de Jobert, un jesuite a robe courte, [г н Жобер, иезуит в коротком платье,] который долго в саду, при свете иллюминации и при звуках музыки, беседовал с Элен о любви к богу, к Христу, к сердцу божьей матери и об утешениях, доставляемых в этой и в будущей жизни единою истинною католическою религией. Элен была тронута, и несколько раз у нее и у m r Jobert в глазах стояли слезы и дрожал голос. Танец, на который кавалер пришел звать Элен, расстроил ее беседу с ее будущим directeur de conscience [блюстителем совести]; но на другой день m r de Jobert пришел один вечером к Элен и с того времени часто стал бывать у нее.