Введение в POSIX'ивизм

Кто Вы, мистер Икс?


Иксы часто воспринимаются как неотъемлемая часть Linux - благодаря юзер-ориентированным дистрибутивам этой ОС. Однако на самом деле к Linux'у они не имеют никакого отношения, за исключением того, что могут быть запущены (в том числе и) поверх него. Как, впрочем, поверх Free- или OpenBSD, а также любого Unix'а и Unix-подобной системы. И не только: помнится, в своё время Иксы были портированы на OS/2. А еще приходилось слышать, что существует и Windows-реализация каких-то X-серверов. Потому что, вообще говоря, Иксы изначально были разработаны для того, чтобы запускаться на любом железе и в любой операционке, способных поддерживать растровую графику (и немного - на том, что к поддержке графики органически не способно:-)).

К слову - о названии. Со всем известным именем Самой Великой Операционной Системы (не к ночи будь помянута) оно никак не связано. В оригинале, то есть по-английски, система эта называется X Window System, наиболее точным переводом чего будет - Оконная Система Икс. Ну, что это - Система, интуитивно понятно. Прилагательное "Оконная" призвано отличать её от полноэкранных графических сред (были ведь и такие; в начале 90-х каждая уважающая себя DOS-программа считала своим долгом обзавестись собственным графическим интерфейсом, функционирующим, как правило, именно в полноэкранном режиме).

И, наконец, X - это имя собственное. И возникло от того, что непосредственно по времени ей предшествовала другая графическая система, носившая имя W - от слова Window, ибо также была оконной. Так что те, кто еще не забыл латинский алфавит, легко могут понять происхождение литеры X в названии системы. И потому попадающиеся в литературе псевдо-переводы типа система X Window (а подчас даже система X Windows) гораздо хуже передают суть дела, чем краткое жаргонное словечко - Иксы, каковое я и употребляю в этой книге.

История Иксов уходит в седую древность - 1984 год, и у истоков ее - трое разработчиков, Роберт Шейфлер (Robert Sheifler), Джим Геттис (Jim Gettys) и Рон Ньюмен (Ron Newman).
В дальнейшем разработкой Иксов занимался Массачуссетский технологический институт (MIT) и фирма DEC. В 1987 году разработчики Иксов, при участии ряда компьютерных фирм, создали организацию под названием X Consortium, которая приступила к распространению оконной системы X открыто и свободно, под собственной лицензией, сходной с GPL и, особенно, BSD.

За время жизни оконная система X сменила множество версий, из которых последней на долгие годы (и по сей день) стала 11-я. Видоизменения внутри которой получали статус релизов, нынешний из которых - 6-й, почему вся система сокращенно и называется X11R6 - также отличается далеко не юным возрастом. Наконец, внутрирелизные вариации также нумеруются - и потому на сей момент последний вариант Иксов носит такой, весьма запутанный, титул: X11R6.8.2.

Сами по себе Иксы - это не какая-либо конкретная программа, и даже не графический интерфейс как таковой, а лишь набор спецификаций, которым этот самый графический интерфейс (точнее, даже метаинтерфейс - как скоро станет ясно, никаких средств взаимодействия с пользователем сами по себе Иксы не содержат) должен соответствовать. Конкретная же их реализация - целиком на откупе (и на совести) разработчиков конкретных же систем. И потому на базе Иксов было построено множество самостоятельных графических метаинтерфейсов, большинство из которых - проприетарные, закрытые и распространяются за деньги (подчас немалые). Среди таких реализаций мне известны Metro-X и Accelerated-X - они использовались в проприетарных же Unix-системах. Хотя и подборки Linux, выпускавшиеся известной компанией Walnut Creek, одно время комплектовались некоторыми версиями коммерческих серверов.

Однако пользователь Linux, FreeBSD и любой другой свободной операционки имеет дело, как правило, только со свободными реализациями же X-спецификаций. До недавнего времени здесь следовало употребить единственное число, потому что такая реализация существовала в единственном экземпляре. И имя ей было (да и по сей день есть) - XFree86, что, как несложно догадаться означало: свободные Иксы для платформы x86, разрабатывающиеся в рамках одноименного проекта (http://www.xfree86.org).


Она также имеет собственную лицензию, которую адепты FSF до недавнего времени полагали "правильной". Однако выход релиза XFree86 4.4 в начале 2004 года, сопровождавшийся сменой лицензионной политики, изменил ситуацию: теперь она полагается злостным порождением (ну, не знаю чего - мирового империализма, вероятно) и в звании GPL-совместимой ей отказано.

В связи с этим в народе возник новый проект, именуемый Xorg. Он основывается на последней бета-версии XFree86 4.39, которая имела еще "правильную" лицензию и, в общем и целом, соответствует этой версии по содержанию.

Похоже, однако, что отделение проекта Xorg всем пошло на пользу. В том числе и проекту XFree86, который активизировал свою деятельность, выпустив весной 2005 г. версию 4.5, содержащую множество усовершенствований. Впрочем, как официальный компонент дистрибутива она вошла только в NetBSD.

Таким образом, на данный момент мы имеем несколько неопределенную ситуацию, а именно - сосуществование трех свободных реализаций Иксов:

  • "неправильной" XFree86 4.5, которую, тем не менее, многие разработчики как Linux-дистрибутивов, так и BSD-систем включают, в той или иной форме, в свои поставки;


  • "правильной" Xorg (последняя версия на момент данного сочинения - X11R6.8.1), которая медленно, но верно внедряется в качестве "Иксов по умолчанию";


  • старой доброй (хотя на счет последнего существуют и иные мнения) XFree86 4.3, сохраняемой как компонент здорово-консервативных систем (FreeBSD - пример которых).


  • Мне не хотелось бы заморачиваться юридическим крючкотворством. Хотя новую лицензию XFree86 4.4, в меру своего понимания вопроса, прочел, и ни малейшей крамолы в ней не обнаружил (кроме требования об упоминании, напомнившее оговорку о рекламе в старой BSD-лицензии, вокруг которой столько ломали копий еще несколько лет назад). И по поводу чего не могу не вспомнить одну из своих любимых аналогий - со спорами либералов, социал-демократов и прочих анархистов: как известно, у большевиков в лагерях и расстрельных подвалах место для всех нашлось...



    Так что далее речь пойдет о неких абстрактных Свободных Иксах (или Иксах просто) - тем паче, что, по моим наблюдениям, принципиальных различий между XFree86 и Xorg не просматривается. Если не считать, конечно, разных названий исполняемых и конфигурационных файлов - так что в необходимых местах я буду делать соответствующие оговорки.

    Иксы предназначены для установки на любой из свободных Unix-клонов (и не только свободных - те же самые Иксы используются в Solaris для платформы Intel, возможно - и в других проприетарных Unix). Важно понимать, что когда речь идёт об Иксах в каком-либо дистрибутиве Linux или любой ОС из клана BSD. мы имеем дело с одним и тем же исходным кодом одной из двух их свободных той же реализаций, а мелкие различия между ними обусловлены либо номером версии, либо именем реализации, либо особенностями сборки под конкретную платформу, либо, наконец, предпочтениями майнтайнеров конкретного дистрибутива. И потому установка и настройка Иксов в любой из этих систем осуществляется одними и теми же методами.

    Вернее, может успешно осуществляться - потому что майнтайнеры систем часто придумывают собственные инструменты для конфигурирования графического режима. Однако повторяю: если инструменты эти почему-либо не позволяют добиться оптимального результата, пользователь любого дистрибутива Linux, Free-, Net- или любой иной BSD всегда может обратиться к универсальным, собственно Иксовым, средствам. О них-то в первую очередь и пойдет разговор в последующих разделах этой главы.


    Содержание раздела