Графические оболочки для Unix
Образовательная программа компании Global Inform. Украина, Харьков
автор статьи - Дмитрий Сидоренко
Подавляющее большинство пользователей персональных компьютеров за последние годы привыкли к часто употребляемому слову window (окно), и, как показывает практика, у многих это слово четко ассоциируется с ОС Windows 95. Что вполне и понятно, так как она является наиболее распространенной среди пользователей компьютеров в нашей (и не только) стране. Но при всей популярности этого продукта фирмы Microsoft было бы несправедливо не вспомнить о том, что существует целый ряд альтернативных ей операционных систем, которые намного стабильнее в работе и. реализованы не только на IBM-совместимых компьютерах с процессором Intel и ему подобных, но и на других аппаратных платформах. Еще дo появления Windows 95, и даже ее младших сестер Windows З.х, в мире существовали ОС, реализующие оконные или, как их еще называют, многооконные интерфейсы.
ПЕРВЫЕ ШАГИ
В 1973 г. инженеры исследовательского центра PARC компании XEROX создали компьютер Alto. Он имел монитор с высокой разрешающей способностью, манипулятор мышь, а его операционная система — самый первый графический пользовательский интерфейс - GUI (Graphic User Interface). В то время командная строка была единственным средством общения с системой как в Unix, так и в других ОС.
GUI радикально отличался именно своим концептуальным подходом к понятию “пользовательский интер феис”. Он позволял работать с папками-регистраторами, ящиками входящей/исходящей информации и другими простыми объектами. Тут стоит отметить, что Стив Джобс, один из основателей фирмы Apple, увидел Alto в 1979 г. и, как говорят, это
имело решающее значение при создании компьютера Lisa. Несколько месяцев спустя Билл Гейтс, тогда еще соучредитель Microsoft, увидев Alto, пришел к мысли о создании новой операционной системы, которую назвал Windows.
В 1984 г. Массачусетский Технологический институт (М1Т) разработал систему Х Window. С этого времени многие гранды, включая AT&T, Hewlett-Packard, DEC, Sun и IBM, приняли эту систему за основу графиче ских оболочек для своих ОС (в основном, это были различные версии Unix). Впоследствии эти компании образовали Х-консорциум, который занимается развитием Х Window.
С 1984 г. Х несколько раз пересматривалась, Последняя версия — XII была выпущена в 1987 г. С того времени она имела несколько различных редакций, последняя из них - X11R6.3.
АРХИТЕКТУРА СИСТЕМЫ Х WINDOW
По своей сути система Х Window -не пользовательский интерфейс, а библиотека графических программ, используемых для создания GUI. Существуют две основные библиотеки этой системы: Х Toolkit Intrinsics (xt) и набор виджстов (объекты пользовательского интерфейса: списки, кнопки, поля редактирования и т. д.) Athena (Athena widget set - Xaw), вместе они называются X Toolkit. Библиотека X Toolkit Intrinsics предоставляет унифицированный программный интерфейс для построения поль-зова1ельского интерфейса. Athena widget — это, главным образом, объекты пользовательского интерфейса, такие как меню, диалоговые окна, зона прокрутки и кнопки.
Работа Х основана на модели клиент-сервер. Cepверная часть Х работает с пользовательским вводом и дисплеем, клиентская - с прикладными задачами, которые требуют от операционной системы выполнения специфических задач, таких как создание окон и пиктограмм. Х-сервер обслуживает данные, приходящие с устройств ввода, и отсылает информацию соответствующей прикладной задаче клиента, а также следит за выводом запускаемых прикладных задач Х-клиента и соответствующим образом обновляет текущее состояние дисплея. В Х экран не обязательно означая дисплей, однако термины экран и монитор являются синонимами. Некоторые прикладные задачи используют два монитора для каждого дисплея, и каждый монитор показывает различные части одного дисплея.
Серверы могут работать на многих системах, таких как рабочие станции, ПК и Х-терминалы.
Разделение Х на две части предоставляет следующие возможности:
Х-клиент и Х-сервер, установленные на различных машинах, общаются с помощью Х-протокола, который работает поверх TCP/IP или DECnet. В качестве общею примера можно привести такой вариант: X-сервер работает на местной рабочей станции или ПК, а клиент выполняется на мощной дистанционной системе. В этом случае Х-сервер принимает всю входную информацию пользователя и выводит ее на свой экран, пока программа-клиент работает на более быстрой системе.
Можно выбрать вариант выполнения клиентской части только на дистанционной машине, если она предлагает особенности, отсутствующие на местной машине. Например, удаленная машина может работать быстрее или содержать большие базы данных, передача которых по сети займет много времени. Другой причиной применения дистанционных клиентов может быть то, что архитектура удаленной машины просто лучше обеспечивает выполнение определенной задачи. Еще одно преимущество архитектуры клиент-сервер связано с мобильностью прикладных задач X. Поскольку только программа X-сервер взаимодействует с аппаратным обеспечением компьютера, специфические особенности машины скрыты от прикпадных задач Х-клиента. Для клиентских приложений все компьютеры, запущенные Х-сервером, выглядят одинаково. Х-клиенты
Редакция X11R6 включает свыше 60 клиентов. Наиболее часто используются три Х-клиента: диспетчер окон (window manager), эмуляция терминала (xterm) и администратор дисплея (display manager).
Эмуляция терминала обеспечивает стандартный алфавитно-цифровой терминальный интерфейс в окне. Именно в окнах этого клиента выполняются команды Unix.
Администратор дисплея, xdm, автоматически запускается и поддерживает работу Х-сервера. Минимальная его задача — это провести сеанс основной загрузки, запрашивая у пользователей их имена и пароли. Кроме того, он может запустить несколько клиентов на различных Х-терминалах и выбрать персональные ресурсы, такие как характеристики дисплея (например, цвет экрана, ширина границы, присутствие зоны прокрутки), в зависимости от настройки клиентов.
Диспетчер окон, как видно из названия, управляет созданием, передвижением и размером окон и пиктограмм. Консорциум Х определил стандартные правила взаимодействия между диспетчерами окон и X-клиентами в документе, названном Inler-Client Communication Conventions Manual (IСССМ), Эти стандарты необходимы, поскольку пытаясь придать Х максимальную гибкость, инженеры МТ не определили, каким образом система управления окнами должна выполнять такие задачи, как установка палитры цветов, изменение активного окна или передача данных между прикладными задачами. Подробнее о диспетчерах окон и рабочих столах (desktop) будет сказано дальше.
Х включает множество других клиентов. и подробно описать все в рамках одной статьи невозможно. Ограничимся перечислением основных из них - это почтовый ящик, часы, калькулятор, монитор загрузки системы и Х-версия команды man. Большинство остальных Х-клиентов подразделяются на 6 групп:
Х позволяет расширять функциональные возможности системы с помощью так называемых расширений. Наиболее известное из них - SHAPE (X Nonrectangular Window Shape Extension Library), позволяющее создавать окна, которые имеют непрямоугольную форму, РЕХ — реализация стандартов PHIGS для Х Window и Mesa - свободно распространяемая реализация OpenGL для X.
Иногда вы можете встретить термин XFree86 — это свободно распространяемая версия Х Window System, которая работает на Unix и Unix-подобных операционных системах (а также OS/2). Проект XFree86 традиционно был сфокусирован на платформах Intel х86 (откуда и появилось 86 в имени), но последняя версия работает и на других платформах. Одно из основных направлений развития XFree86 на сегодня - это поддержка как можно большего количества платформ.
ДИСПЕТЧЕРЫ ОКОН
Внешне система Х Window выглядит как серый экран (в графическом режиме с настроенным разрешением) с указателем мыши в виде символа X. Запускаемые программы не имеют рамок вокруг своих окон, поэтому работа в таком окружении затруднена. Как было сказано выше, за управление окнами отвечает специальный клиент -диспетчер окон. К некоторым диспетчерам окон добавлено слово “виртуальный”. Это связано с умением работать с так называемым виртуальным рабочим пространством (virtual screen), т. е. когда размер вашего рабочего пространства больше видимой области на экране. При передвижении мыши за край видимой области изображение на экране сдвигается в противоположную сторону, создавая эффект большего рабочего пространства. Существует еще одно средство, позволяющее увеличить площадь рабочего пространства, - это страницы, или рабочие зоны (workplaces). Страницы представляют собой дополнительные мониторы, между которыми можно переключаться с помощью специальной утилиты — пейджера (pager). Это очень удобно, поскольку позволяет выделить экраны для решения специфических задач, уменьшая беспорядок окон. Например, вы можете на одном экране работать с компилятором, во втором — с отладчиком, а в третьем - с HTML-редактором.
Необходимо отметить, что рабочие столы обычно не поддерживают виртуальные экраны в связи с тем, что некоторые элементы, например полоски задач, должны быть фиксированы. Однако страницы, поддерживаемые практически всеми рабочими столами, вполне успешно заполняют этот пробел. Tab Window Manager и Virtual TWM Tab Window Manager (TWM), иногда Tom's Window Manager, по имени автора — Тома Ла Стрэнджа (Тот LaStrange), обеспечивает титульные полоски, оформление окон, несколько способов управления пиктограммами, макрофункции, задаваемые пользователем, управление фокусом клавиатуры click-to-type и pointer-driven, а также заданные пользователем функции клавиш на клавиатуре и кнопок мыши. VTWM - это виртуальный диспетчер окон, аналог TWM.
![]() |
FVWM FVWM, разработанный Робертом Нэйшеном (Robert Nation), является одним из самых распространенных виртуальных диспетчеров окон, используемых в последнее время (особенно в среде пользователей Linux). Он много позаимствовал у знаменитого диспетчера окон - TWM. Фактически, все уважающие себя диспетчеры окон являются потомками TWM, так как это был первый диспетчер окон, совместимый с IСССМ. FVWM был разработан с целью минимизации потребления памяти и обеспечения трехмерного внешнего вида (заимствованного у диспетчера окон Motif), а также, чтобы предоставить пользователям простой виртуальный рабочий стол. Его функциональность может быть расширена с помощью различных модулей. Одним из них является полоска запуска задач, которая в разных видах присутствует в разных диспетчерах окон. Существуют две версии FVWM — 1 и 2, которые весьма заметно отличаются друг от друга. |
![]() |
FVWM 95 FVWM95 - модификация FVWM2. Этот диспетчер окон — попытка эмулировать внешний вид и поведение хорошо известного продукта Windows 95, практически не изменяя кода FVWM. Он обладает всеми функциональными возможностями FVWM2, но выглядит по-другому и имеет дополнительный модуль полоски задач. Пользователям FVWM95 может быть также интересна библиотека Xaw95, которая заменяет библиотеку Athena Widget и изменяет внешний вид использующих ее программ под стиль интерфейса Windows 95. |
![]() |
AFTERSTEP Этот диспетчер окон разработан с целью эмуляции пользовательского интерфейса NeXTSTEP, кроме того, в нем добавлены некоторые полезные и необходимые средства. На сегодня Afterstep один из самых популярных диспетчеров окон. Существует также замена для библиотеки Xaw, neXtaw, которая эмулирует внешний вид приложений системы NeXTSTEP. |
![]() |
Enlightenment Enlightenment (также известен как “Е”) изначально был основан на FVWM2, но с тех пор был полностью переработан. Переписанная версия стала гораздо меньше, быстрее и эффективнее. Он работает на платформах Linux, Solaris и Digital. Этот диспетчер окон базируется на расширениях Shape и pixmaps, однако после того, как он был переписан, достаточно быстро работает и на простых системах. Хотя сейчас он находится в стадии разработки, рейтинг его популярности среди других диспетчеров окон самый высокий. |
OpenLook Window Manager
OLWM - это реализация части графического интерфейса Open Look. Ранее это был стандартный диспетчер окон для системы OpenWindows компании Sun. Однако недавно Sun приняла в качестве стандарта Motif и CDE.
![]() |
OpenLook Virtual Window Manager OLVWM - это IСССМ-совместимый диспетчер окон, который используется вместе с XView Toolkit. OLVWM отличается от OLWM тем, что OLVWM умеет управлять виртуальным рабочим пространством. Однако во всем остальном OLVWM идентичен OLWM и поддерживает все его функции, а кроме того, имеет много дополнительных свойств, включая использование для пиктограмм и меню изображений в форматах ХРМ и GIF. |
Motif Window Manager
Диспетчер окон Motif является частью коммерческой библиотеки графического интерфейса OSF Motif. На сегодняшний день эту библиотеку (а с ней и диспетчер окон - MWM) приняли за основу для графических систем практически все крупные поставщики Unix-систем. Начиная с версии 2.0, MWM поддерживает виртуальные экраны.
|
The К Desktop Environment Из огромного количества графических оболочек наиболее подробно имеет смысл остановиться на относительно недавно появившемся, но достаточно полновесно заявившем о себе свободно распространяемом программном продукте, — KDE (К Desktop Environment). Причин. почему именно он привлек наше внимание, несколько. Во-первых, KDE является наиболее полным и завершенным среди аналогичных программных продуктов, во-вторых, он не слишком требователен к ресурсам ПК, что на сегодняшний день для большинства пользователей продолжает оставаться немаловажным фактором. Еще одна причина станет ясной, если задуматься, в чем секрет такого беспрецедентно широкого распространения Windows 95 и NT, несмотря на их очевидные недостатки. Скорее всего, в том, что на сегодня! т 1ий день они является все-таки самым удобным в использовании даже для неподготовленного пользователя продуктом, учитывая его низкую стоимость. KDE заслуживает особого внимания в силу своей доступности и весьма удобного пользовательскою интерфейса, настроить который под силу даже тому, кто хоть раз сталкивался с оконной средой Mac OS или Window 95. Целью создания KDE было предоставить согласованный интерфейс для приложений Х Window System как по внешнему виду, так и по функциональности. Эта система содержит базовый набор приложений, таких как диспетчер окон (KWM), менеджер файлов, редактор текстовых и шестнадцатеричных файлов, эмулятор терминала, справочную систему и систему конфигурации дисплея. Кроме того, большое количество приложений и утилит Unix перенесены и продолжают переносится под систему KDE. Менеджер файлов является одновременно и Web-броузером, что очень удобно. Кроме того, его предполагается пополнить просмотром сетевых ресурсов (т. е. общедоступных дисков в Windows сетях и сетевой файловой системе NFS) и выполнением апплетов Java. Эта система включает обширную справочную систему, которая базируется на формате HTML Необходимо также отметить, что KDE на данный момент поддерживает 20 языков (в том числе русский), облегчая этим знакомство с системой пользователям, плохо владеющим английским языком. Хотя проект KDE сейчас находится в стадии бета-тестирования (последняя версия на момент написания статьи - beta 4), эта система достаточно стабильна. Если вы установили у себя на компьютере linux (или другую версию Unix) либо собираетесь это сделать, настоятельно рекомендуем вам обратить внимание на эту графическую оболочку. |
РАБОЧИЕ СТОЛЫ
Рабочий стол (desktop) — это более развитая система оконного интерфейса, которая обычно, кроме диспетчера окон, включает в себя много других полезных утилит, а именно, менеджер файлов, графическую справочную систему, панель задач, утилиту настройки параметров рабочего стола (обои, язык, параметры мыши и клавиатуры и др.) и некоторые другие. Для того чтобы обеспечить одинаковый внешний вид и поведение утилит и приложений, обычно вместе с рабочим столом поставляется библиотека графических объектов пользовательского интерфейса, Common Desktop Environment Common Desktop Environment (CDE) - это коммерческий графический интерфейс для операционной системы Unix, во всех ее видах (А1Х, Digital Unix, HP/UX, Solaris, UnixWare, и т. д.). CDE разработана совместными усилиями компаний Hewlett-Packard, IBM, Novell и Sun Microsystems. Эта система принята за стандартную графическую оболочку этими и другими компаниями, работающими на рынке рабочих станций Unix. CDE базируется на библиотеке OSF Motif и включает в себя совместимый с Motif виртуальный диспетчер окон — DTWM.
Более подробную информацию об этих и других диспетчерах окон и рабочих столах вы сможете найти по адресу: http://www.plig.org/xwinman
Пишите автору: ds@itc.kiev.ua
FIDO: 2:463/535.7
AKA 2:463/531.7
This page maintained by Global Inform Group Ukraine, Kharkov © 1998-99