Алексей Федорчук - Вопросы истории: UNIX, Linux, BSD и другие
Заключение
Подводя итог истории оконных менеджеров, процитирую великого русского поэта А.К. Толстого:
«К чему твоя баллада?» Иная спросит дева. – О жизнь моя, о лада, Ей-ей, не для припева!
Так вот, и я сочинил обе заметки на заданную тему, дабы чтобы развеять одно распространённое заблуждение: будто бы разработчики графических интерфейсов Иксов только и делали, что заимствовали и копировали решения из Windows и операционных систем для Macintosh'а (мало кто нынче помнит, что до появления MacOS X они назывались очень просто – System с добавлением номера версии).
Дело обстояло как раз наоборот: если не считать общих корней GUI, произраставших из Xerox PARC, все остальные атрибуты современных графических интерфейсов, представляющиеся сейчас самоочевидными, впервые получили распространение именно в оконных менеджерах для X Window System. Это и активное использование всех трёх кнопок мыши, и множественные виртуальные рабочие столы, и виртуальное разрешение экрана, и управляющие панели, и контекстные меню, и многое другое. В послужной список Windows можно вписать только сомнительную честь изобретения кнопки Пуск. А к вящей славе Mac'овских систем всегда служило не создание новых парадигм, а умелая и успешная реализация существующих.
Глава двадцать четвёртая
В настоящей главе мы поговорим об истории комплексов программ, задумчиво именуемых интегрированными, или графическими, рабочими средами, они же – окружения (по английски – Graphic, или Intergated Desktop Environment). Впрочем, в народе их величают гораздо короче – просто декстопами или даже аббревиатурой DE.
Вступление
Если функции оконных менеджеров, о которых рассказывалось в предыдущей главе, сводятся, как следует из их названия, к управлению окнами, то задачи, стоящие перед десктопами, гораздо шире. Они в обязательном порядке включают в себя средства конфигурирования как самих себя, так и штатных приложений. Некий непременный круг таких приложений, более или менее обширный, обладающих похожим по виду и функциональности интерфейсом, настраиваемых одним и тем же образом, также является неотъемлемой принадлежностью десктопов – почему они и носят имя интегрированных сред.
Средства конфигурирования десктопов изначально работали в графическом режиме, прямое редактирование настроек в них требовалось лишь в исключительных случаях. Ибо, вспоминая словам маршала Ланна, можно сказать, что GUI, который не может настроить себя своими GUI'ёвыми средствами – не GUI, а... нехорошее слово.
Что же до штатных приложений, то они, кроме оконного менеджера (оригинального или заимствованного) и всяких служебных утилит типа часов, регулятора звука, средств мониторинга, непременно включали в себя малый джентльменский набор, необходимый любому применителю: файловый менеджер (своего рода сердце среды), эмулятор терминала, простой текстовый редактор. Остальными приложениями разные десктопы комплектовались по разным принципам – от полного минимализма до собственного браузера и даже офисного пакета.
Оба эти фактора – простота и «всеобщность» конфигурирования, во-первых, и набор приложений, более или менее достаточный для начала работы большинства применителей, да ещё и выглядевших единообразно и столь же унифицированно настраиваемых, и обусловили мгновенную популярность интегрированных сред в широких народных массах – и не только среди начинающих пользователей. По сути дела, чистые оконные менеджеры остались уделом последователей Агафьи Тихоновны, то есть любителей
... губы Никанора Ивановича да приставить к носу Ивана Кузьмича, да взять сколь-нибудь развязанное, какая у Балтазара Балтазаровича, да, пожалуй, прибавить к этому ещё дородности Ивана Павловича…
Так что история десктопов, хотя и более короткая, чем у оконных менеджеров, оказалась весьма насыщенной событиями и куда как более драматической. Впрочем, и предыстория их также глубоко уходит в дебри прошлого.
Предыстория десктопов
Разумеется, в этой статье будет говориться только о тех десктопах, которые работают в открытых и свободных UNIX-подобных системах, и сами принадлежат к миру FOSS. И потому за точку отсчёта времени в истории интегрированных сред можно принять осень 1996 года – начало работы Маттиаса Эттриха (Matthias Ettrich) над средой KDE. Однако рассмотрение предыстории вопроса опускается куда глубже, в недра проприетаризма.
Отдалённым прототипом современных интегрированных сред были первые, ещё до-иксовые графические интерфейсы фирмы Sun – SunView (Sun Visual Integrated Environment for Workstations, изначально SunTools), затем NeWS (Network extensible Window System) и, наконец, OpenWindows, о которых я упоминал в главе про историю Иксов. Они предназначались для операционной системы SunOS – фирменного варианта UNIX: именно здесь впервые была реализована идея интеграции операционной системы, GUI и пользовательских приложений, получившая дальнейшее развитие не только в мире UNIX, но и далеко за его пределами.
Именно графические интерфейсы, пришедшие из совершенно других миров – не UNIX'овых и не свободных, миров OS/2, Macintosh'а и Windows, оказали определяющее влияние на десктопы, о которых вскоре пойдёт речь.
Ныне мало кто помнит, но OS/2 не включала графический интерфейс пользователя как непременный атрибут операционной системы, однако обладала оригинальной и весьма совершенной графической оболочкой, Presentation Manager, позднее Workplace Shell (WPS). Она отличалась исключительной аккуратностью и вылизанностью, благодаря чему и послужила образцом при создании первого собственно Иксового десктопа – среды CDE.
Среда CDE (Common Desktop Environment) была разработана в 1993 году под эгидой The Open Group и при участии Hewlett-Packard, IBM, Novell и Sun. Она основывалась на библиотеках Motif и включала в себя оконный менеджер VUE (или HP-VUE – Visual User Environment), ранее применявшийся в HP-UX. Она быстро стала стандартным графическим интерфейсом для всех проприетарных UNIX'ов.
Как легко догадаться, CDE (как и лежащие в её основе библиотеки Motif) не была ни свободной, ни открытой. Именно потому влияние её на дальнейшее развитие десктопов, за единственным исключением (и, разумеется, самой идеи интеграции), оказалось не очень большим. Не изменило ситуации и открытие в начале десятых годов исходников и Motif'а, и CDE, ибо состоялось оно по принципу: возьми, боже, что мне не гоже. В то время, когда DOSS-десктопы давно превзошли своего первопредка и по функциональности, и по удобству.
Отступление. Среда CDE основывалась на библиотеке Motif – в те времена стандартном наборе для графических интерфейсов проприетарных UNIX. На нём же основывалось и множество приложений графического режима, некоторые из них были открытыми. Но, поскольку сами библиотеки были закрытами, свободными эти приложения быть не могли.
Поэтому был изобретён свободный аналог – библиотека OpenMotif. Правда, функционально обеднённый – и не все Motif-приложения могли быть с ним собраны.
В дальнейшем, уже в начале текущего десятилетия, и библиотека Motif, и среда CDE были последовательно открыты для народа. Но к тому времени они вышли из моды, морально устарели, и казалось что народу не нужны. Однако буквально в то время, как в эту книгу вносилась последняя правка (1 марта 2014 года), мир облетела весть о выходе первой, со времён открытия исходников (и, следовательно, первой свободной), версии CDE, за номером 2.2.1. Пока она доступна только в виде исходников, адптированных, как говорят разработчики, для сборки в любом дистрибутиве Linux или BSD-системе. Что из этого получится – поживём, увидим.
Ранние версии Windows, с версии 1-й по 3.X, представляли собой обычные графические псевдомногозадачные надстройки над DOS, хотя нынче об этом и не любят говорить вслух. Имя графическим DOS-надстройкам тогда было – легион: достаточно вспомнить такие среды, как GEM (много лет служившую для запуска Ventura Publisher), DesqView, GEOS и GeoWorks. И это не говоря уже о том, что многие популярные приложения, вроде Lotus 123, QuattroPro или WordRerfect, располагали собственными графическими оболочками. Влияние этих Windows за пределами своего мира также было невелико. Звёздный час Windows наступил в 1995 году, с выходом версии его имени. Но к этому вопросу мы ещё вернёмся.
В отличие от OS/2 и DOS/Windows, операционная система Macintosh'а, именовавшаяся в те времена просто и скромно – System 4, 5, 6 и так далее, – изначально в качестве неотъемлемого компонента включала в себя графическую среду, неотделимую от собственно операционки. На десктопы свободных UNIX-подобных систем она поначалу оказала влияние сугубо косвенное. Хотя и в те времена, как и по сей день, выступает в качестве своего эталона графического интерфейса пользователя.
Очень важной вехой в развитии графических интерфейсов оказалась система NeXTStep, о которой упоминалось в предыдущей главе . Однако это стало ясно годы спустя, после того, как её достижения были инкорпорированы в недра MacOS X.