Главная

Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Графический интерфейс пользователя в семействе UNIX/Linux


К истории X Window system

X Window system появилась в результате объединения усилий двух исследовательских групп MIT: группа, ответственная за сетевую программу (проект "Афина" – Project Athena) и Лаборатория информатики (Laboratory for Computer Science). До десятой версии X Window этот проект реализовали три программиста: Роберт Шейфлер (Robert Sheifler), Джим Геттис (Jim Gettys) и Рон Ньюмен (Ron Newman). Двое из них работали в MIT, а третий в DEC [16, 17].

Первоначально разрабатываемая в MIT (Массачусетском технологическом институте) система X Window стала распространяться свободно. Было создано несколько версий, и последняя из них, успешно используемая до настоящего времени, имела номер, присвоенный при создании и равный 11. Чаще других применяется версия 11, имеющая номер реализации 6. Поэтому на компьютерах с установленной системой Window часто встречаются каталоги, в названии которых есть символы X11R6 или X11.

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

В 1987 году ряд фирм решили создать единый стандарт оконного интерфейса для UNIX и для этого основали X Consortium ("Консорциум X"). В нем приняли участие IBM, DEC, HP и другие компании. Этот проект возник в противовес объединению AT&T и Sun. С 1997 X Consortium преобразовалась в "Открытую группу Х" (X for the Open Group) [16]. Информацию о деятельности этой организации (ее современное имя X.Org Foundation) можно получить в Интернете [64].

В статье [65] приведены примеры четырех исторически появлявшихся видов графического интерфейса XWindows (OpenLook, Motif, KDE и трехмерный графический интерфейс). Там о них говорится следующее:

"Эволюция пользовательских интерфейсов, построенных на основе X Window, наглядно доказывает преимущество выбранного разработчиками системы подхода. Свобода в определении политик и простота использования механизмов позволили X Window пройти эволюционным путем от внешне примитивного вида OpenLook к де-факто стандартному экранному представлению примитивов пользовательского интерфейса Motif, к гибко настраиваемому современному виду KDE и, наконец, к прообразам трехмерного интерфейса".

Заметим, что трехмерный графический интерфейс появился сравнительно недавно. Но самые последние версии популярных операционных систем реализуют его. Это относится к разновидностям Linux, Mac OS и версий Microsoft начиная с Vista [66].

Не претендуя на полноту охвата вопроса, отметим, что трехмерные рабочие столы могут быть построены на разных эффектах. Одним из первых была реализована метафора рабочей комнаты со шкафчиками, ящичками и тому подобными элементами, которые открывались, выдвигались и т.д. Другой подход, видимо, основан на объемной фигуре, которую можно поворачивать и изменять в размерах. И еще одна идея 3D Desktop предполагает использование прозрачных окон, за которыми можно увидеть информацию расположенных за ними окон. С одной из наиболее распространенных версий Linux Mandriva сегодня поставляется Metisse (рис. 4.10). Последний основан на эффекте перспективы.


Рис. 4.10. Пример трехмерного графического интерфейса Metisse дистрибутива Linux Mandriva

Для операционных систем Mac OS 3D интерфейс реализуется в Aqua. Он основан на эффекте прозрачности (рис. 4.11).


Рис. 4.11. Пример трехмерного графического интерфейса Aqua Mac OS

Еще один пример трехмерного интерфейса от Mac OS, при котором каждый пользователь работает на своей грани куба (рис. 4.12).


Рис. 4.12. Пример трехмерного графического интерфейса Aqua Mac OS

Трехмерный интерфейс операционной системы Windows Vista получил название Aero. Он построен на эффекте 3D Flip.


Рис. 4.13. Пример трехмерного графического интерфейса Aero Windows Vista

Основные понятия системы X Window

X Window system (или просто X Window, а теперь часто и Х) – графическая среда пользователя, поддерживающая одновременное выполнение многих программ в сети. В основе X Window – библиотека графических программ, используемых для создания GUI.

ЗАМЕЧАНИЕ. Отметим, что термину X Window дают разное определение. Поиск в Интернете позволяет получить их более десятка.

Достоинством системы X Window является ее мобильность (она не связана с конкретной операционной системой и не рассчитана на специфическое техническое обеспечение). Работа Х-системы основана на специфической модели клиент/сервер.

В традиционной модели "клиент-сервер" с пользователем взаимодействует клиентская часть. В системе же X Window с пользователем взаимодействует X-сервер. Он отвечает за вывод информации на экран пользователя и получение им команд. Такой сервер как бы "владеет" аппаратурой пользователя (называемой X-терминал) и представляет этот ресурс программам – клиентам. Именно они формируют изображение, выводимое на экране. При инициализации X Window system первым шагом будет загрузка X-сервера. Об этом можно узнать по появлению на сером экране в центре указателя мыши в виде крестика.

Но для окончательного вывода на экран сформированного программой клиентом изображения одного X-сервера мало. Для этого еще необходим менеджер окон.

Таким образом, система X Window представляет собой комплекс взаимодействующих компонент. Интересно, что существует несколько вариантов каждого элемента, из которых "собирается" конкретный экземпляр системы.

Следуя J.Bait [6], приведем схематическое изображение архитектуры графической системы (рис. 4.14).


Рис. 4.14. Архитектура X Window

Это упрощенная схема. Обязательными являются еще такие два компонента. Взаимодействие между графическими библиотеками и X-сервером реализуется по протоколу TCP/IP. Также важным элементом рассматриваемой системы являются шрифты, поэтому в системе можно выделить и еще один элемент – сервер шрифтов.

Приведем схему, взятую с сайта http://www.answers.com/topic/x-window-system (рис. 4.15).


Рис. 4.15. X Windows сервер выполняется на клиенте

Из этой схемы видно, что программы, выполняющие роль X Window SERVER и X Window CLIENT, могут располагаться как на одном компьютере, так и на разных. Каждая из них может работать под управлением своей операционной системы. Взаимодействие между Х-клиентом и Х-сервером реализуется по специальному протоколу (X protocol). В этой схеме не обозначены драйверы устройств, обеспечивающие работу конкретной аппаратуры и вместе с Х-сервером образующие Х-терминал. За вывод информации отвечает такой компонент, как менеджер окон, обеспечивающий, по инициативе прикладных программ, вывод на экран множества перекрывающихся окон, расположенных в нужном месте экрана и имеющих требуемый размер. Этот компонент изображен на USER MACHINE (CLIENT). Отметим, что общей идеологии X Window system не противоречит ситуация, при которой все компоненты располагаются на одном компьютере, что реализуется, к примеру, в Linux.

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

Обратим ваше внимание, что графический режим в операционных системах семейства UNIX/Linux не является обязательным. Он вызывается из командной строки. Заметим, что таким же образом запускалась, например, графическая многооконная оболочка Windows3.X фирмы Microsoft. Из-за сложности процедуры запуска графический интерфейс активизируется целым набором действий. Для систем UNIX в таких случаях предусматривают создание специальных скриптов (сценариев). Долгое время традиционное название файла запуска было startx, а файл конфигурации параметров графического режима носил название XF86Config. Но сейчас это не является обязательным для всех систем.

X Window в Linux

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

Долгое время в Linux использовалась версия X Window, ориентированная на IBM PC и названная XFree86. Она основывалась на стандарте X11R6, но имела ограничения на используемое оборудование. Как и многое в семействе UNIX/Linux, XFree86 постоянно развивается усилиями многих программистов в соответствии с принятыми стандартами. Последняя ее версия имеет номер 4.8.0 (декабрь 2008 года, http://xfree86.org/releases/rel480.html). Для этого графического режима написано много самого разнообразного программного обеспечения. Большая его часть распространяется свободно и бесплатно, но ничем не уступает своим коммерческим аналогам. Это – офисные и графические программы, системы для управления предприятием и средства разработки.

Но с 1999 года параллельно с XFree86 возникает XOrg, основанная The Open Group. Первое время она не была популярной и использовала основные технические достижения XFree86. Но в последние годы ситуация изменилась. В начале 2004 года представители X.Org и freedesktop.org основали фонд X.Org Foundation. The Open Group передала ему управление доменным именем x.org. Это стало коренным изменением в разработке X. В то время как распорядители X с 1988 года (включая предыдущую X.Org) были организациями поставщиков, X.Org Foundation был основан самими разработчиками программного обеспечения, и в нем применялась открытая модель разработки, опирающаяся на вклад извне.

Графический интерфейс семейства UNIX/Linux похож на интерфейс других систем, но имеет отличия. Он поддерживает метафору рабочего стола. Но в отличие от некоторых систем имеет нескольких рабочих столов, которые иногда называются еще и "рабочие места". Их количество можно изменять. Хотя графический UNIX зародился раньше, чем у других операционных систем, сейчас работа с использованием GUI аналогична у Linux и Windows. Пользователь работает с приложением в окне, имеющем прямоугольную форму. Последний содержит стандартные элементы – строка заголовка, главное меню, панели инструментов и т.д.

В X Windows управление окнами приложений, их элементами выполняет компонент, называемый "менеджер окон" (иногда используют название "оконные менеджеры" или "диспетчер окон"). Может быть задействовано несколько диспетчеров окон.

Но сегодня пользователи редко выбирают менеджеры окон. Им представляются интегрированные графические среды. Две наиболее распространенные из них – KDE и GNOME – будут коротко рассмотрены далее. Но сначала приведем список инструментов пользователя. На странице Википедии "Менеджер окон X Window System" приводятся такие списки. Интерфейс пользователя в UNIX-подобных системах:

  1. среды рабочего стола: CDE, EDE, etoile, GNOME, JDS, KDE, LXDE, Mezzo, OpenWindows, ROX, Xfce, Xpde;
  2. оконные менеджеры: AfterStep, Awesome, Blackbox, CTWM, dwm, Enlightenment, Fluxbox, FVWM, IceWM, JWM, Openbox, Sawfish, twm, Window Maker, wmii;
  3. командные оболочки: ash, Bash, BusyBox, csh, dash, es shell, fish, ksh, psh, rc, rsh, Sash, Scsh, sh, tcsh, Thompson shell, zsh и прочие.

Приводятся три категории: среды рабочего стола, оконные менеджеры и командные оболочки. Последние обеспечивают режим командной строки. Как видим, их много. Название первой образовано от английского shell (оболочка). В разных вариантах Linux распространена оболочка, имя которой Bash образовано от Born again shell (разработана Born).

А теперь, как было сказано ранее, приведем короткую информацию о двух интегрированных графических средах KDE и GNOME.



Последнее изменение этой страницы: 2016-06-10

headinsider.info. Все права принадлежат авторам данных материалов.