Современные операционные системы

Интерфейсы операционных систем

Разбить на страницы
Показывать лекцию целиком

4.1. Основные понятия, связанные с интерфейсом операционных систем

В области информационных технологий имеется несколько фундаментальных понятий. Одно из них – "интерфейс". Отметим, что оно может трактоваться с различных точек зрения. В предыдущей главе описано понятие "Интерфейс системных вызовов". Если искать такой термин в "Словарях" Yandex, то будет получено более десятка определений термина, большая часть которых дана в сочетаниях с другими терминами, например: "Интерфейс передачи данных", "Программный интерфейс", "Прикладной интерфейс". В словаре "Естественные науки" на ГЛОССАРИЙ.RU дается следующее определение фундаментальному понятию.

Интерфейс в широком смысле – определенная стандартами граница между взаимодействующими независимыми объектами. Интерфейс задает параметры, процедуры и характеристики взаимодействия объектов.

В "Издательском словаре-справочнике" [61] есть такое определение основному термину "интерфейс". Это:

  • Система связей и взаимодействия устройств компьютера.
  • Средства взаимодействия пользователей с операционной системой компьютера, или пользовательской программой. Различают графический интерфейс пользователя (взаимодействие с компьютером организуется с помощью пиктограмм, меню, диалоговых окон и пр.) и интеллектуальный интерфейс (средства взаимодействия пользователя с компьютером на естественном языке пользователя).
  • Как видим, здесь этот термин имеет два значения. Но мы кратко остановимся на втором – "интерфейс пользователя". На уже упомянутом нами источнике ГЛОССАРИЙ.RU он определяется так: "Интерфейс пользователя – это элементы и компоненты программы, которые способны оказывать влияние на взаимодействие пользователя с программным обеспечением, в том числе:

  • средства отображения информации, отображаемая информация, форматы и коды;
  • командные режимы, язык пользователь-интерфейс;
  • устройства и технологии ввода данных;
  • диалоги, взаимодействие и транзакции между пользователем и компьютером;
  • обратная связь с пользователем;
  • поддержка принятия решений в конкретной предметной области;
  • порядок использования программы и документация на нее".
  • По мере развития вычислительной техники методы и средства взаимодействия пользователя с операционной системой менялись. Широкое распространение цифровых вычислительных машин привело к режиму общения между человеком и ЭВМ на специальном языке. Сначала, в период пакетной обработки заданий, это реализовалось с применением специальных носителей информации (например, перфокарт, на которые наносились задания для компьютера). Но в дальнейшем, с широким распространением терминалов и клавиатуры, основным стал командный режим работы пользователя, при котором взаимодействие строилось на основе системы встроенных команд. В свободной энциклопедии "Википедия" он определен так.

    Интерфейс командной строки (англ. Command line interface, CLI) – разновидность текстового интерфейса (CUI) между человеком и компьютером, в котором инструкции компьютеру даются в основном путем ввода с клавиатуры текстовых строк (команд), в UNIX-системах возможно применение мыши. Также известен под названием "консоль".

    Приведем приблизительный фрагмент экрана, который появляется в режиме командной строки (рис. 4.1).

    (рис 4.1)

    Слева в строке появляется приглашение ( [asplinux@asplinuxlive ~] ), после него можно набрать команду, результаты которой выводятся далее. Приведем пример выполнения команды date в системе Linux (рис. 4.2).

    (рис 4.2)

    Первые операционные системы фирмы Microsoft для персональных компьютеров IBM PC (они назывались MS DOS) также поддерживали командный режим, схожий с другими системами. Строка, в которой набирались команды, была схожей с приведенными выше. Сегодня командный режим операционных систем обеспечивается эмуляторами cmd.exe (для 32-х разрядного режима) или command.com (для 16-х разрядного режима). В графическом режиме семейства UNIX/Linux командная строка эмулируется программой Терминал (xterm).

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

    "Norton Commander (NC) – популярный файловый менеджер для DOS, первоначально разработанный американским программистом John Socha (некоторые дополнительные компоненты были полностью или частично написаны другими людьми: Linda Dudinyak – Commander Mail, вьюеры; Peter Bradeen – Commander Mail; Keith Ermel, Brian Yoder – вьюеры). Программа была выпущена компанией Peter Norton Computing (глава – Питер Нортон), которая позже была приобретена корпорацией Symantec".

    Приведем пример снимка экрана этого файлового менеджера (рис. 4.3).

    (рис 4.3) Легендарный файловый менеджер Norton Commander

    Популярность программы была настолько велика, что появились многочисленные клоны, которые более или менее точно копировали нортоновский интерфейс. К примеру, DOS Navigator, визуально схожий с Norton Commander-ом, предоставлял даже большие возможности. Для операционной системы Microsoft Windows появились Volkov Commander, FAR Manager, Total Commander и другие аналогичные программы. Впоследствии клоны появились и на других операционных системах: BSD, GNU/Linux – Midnight Commander, Krusader.

    Norton Commander не только спровоцировал целую серию собственных клонов и реплик, но и внес в русский язык пару новых слов – "нортон" и "коммандер" стали в жаргоне пользователей ПК синонимами словосочетания "файловый менеджер".

    Введенная программой парадигма работы с файлами (2 одинаковые панели, между которыми происходят операции; большинство команд выполняется по "горячим клавишам") до сих пор применяется в подавляющем большинстве файловых менеджеров.

    Norton Commander также стал персонажем серий притч и анекдотов. Первая серия была написана Александром Голубевым, несколько последующих выпускались и дополнялись различными авторами, имена которых постепенно были утеряны, после чего эти рассказики перешли в состояние фольклора.

    Также имеется музыкальная группа Nord'n'Commander.

    В разных версиях Linux используется аналог такой программы, называемой Midnight Commander. Приведем ее вид (рис. 4.4), когда она вызвана в режиме эмуляции командной строки.

    (рис 4.4) Программа Midnight Commander, выполненная в Терминале

    Но идея разделений окна на две части, в которых представлено содержимое каталогов, осталась привлекательной и при появлении операционной системы только с графическим интерфейсом – Windows 95. Аналоги Norton Commander для этой и последующих версий многочисленны. В интегрированной графической среде UNIX аналогом NC является GNOME Commander. Приводим вид (рис. 4.5) файлового менеджера Total Commander (ранее известного как Windows Commander) операционной системы Windows XP [62].

    (рис 4.5) Файловый менеджер Total Commander

    Но сегодня командный режим уходит в прошлое, уступая место другим. Кроме командного, определяются еще два современных вида интерфейса: WIMP и SILK.

    WIMP-интерфейс (Window – окно, Image – образ, Menu – меню, Pointer – указатель). Характерной особенностью этого вида интерфейса является то, что диалог с пользователем ведется не с помощью команд, а с помощью графических образов – меню, окон, других элементов. Хотя и в этом интерфейсе подаются команды машине, но это делается "опосредованно", через графические образы. Этот вид интерфейса реализован на двух уровнях технологий: простой графический интерфейс и "чистый" WIMP-интерфейс.

    SILK-интерфейс (Speech – речь, Image – образ, Language – язык, Knowledge – знание). Этот вид интерфейса наиболее приближен к обычной, человеческой форме общения. В рамках этого интерфейса идет обычный "разговор" человека и компьютера. При этом компьютер находит для себя команды, анализируя человеческую речь и находя в ней ключевые фразы. Результат выполнения команд он также преобразует в понятную человеку форму. Этот вид интерфейса наиболее требователен к аппаратным ресурсам компьютера, и поэтому его применяют в основном для военных целей.

    Долгое время возможности компьютеров, их технические характеристики предписывали пользователям работу в командном режиме как в основном. Первые персональные компьютеры также использовали его. Но в последние годы такой режим вытеснен другим – графическим. Он потребовал от компьютера больших ресурсов, но привнес новое – удобство, разнообразный дизайн, многозадачность (правда последняя может быть реализована и в командном режиме). Для обозначения графического режима используют аббревиатуру GUI (Graphics User Interface), что дословно переводят как "графический интерфейс пользователя", но часто при переводе заменяют на "многооконный графический интерфейс".

    Первое появление графического интерфейса (рис. 4.6) следует связывать с фирмой XEROX. В ее лаборатории PARC (Palo Alto Reseach Center) в 1973 году создавался компьютер Alto. Последний был оснащен мышью и хорошим монитором. Считают, что этот компьютер обладал GUI, но широкого распространения не получил. Xerox все-таки решается вдохнуть жизнь в экспериментальный Alto, выпустив на рынок его полноценного коммерческого преемника – компьютер Star.

    (рис 4.6) Первый графический интерфейс от фирмы Xerox

    Приведем высказывание из статьи Олега Свиргстина [63]: "Alto был первым в мире компьютером, на котором были практически реализованы метафора "рабочего стола" и графический пользовательский интерфейс, прежде существовавшие только в теоретических разработках".

    Для операционных систем семейства UNIX, как и многих других, долгое время командный режим работы был основным. Пожалуй, сегодня он используется в основном для администрирования, его потеснил режим графического интерфейса. Фирма Microsoft более 10 лет (с 1981 года) обеспечивала персональным компьютерам IBM PC только командный режим, в то время как у соперников уже в 1984 году был реализован GUI. Правда, эта компания стремилась реализовать последний режим работы, что и было достигнуто в середине 90-х.

    Приведем рисунок, иллюстрирующий этапы работы операционных систем Microsoft и UNIX в командном и графическом режимах. Из него видно, что для операционных систем UNIX/Linux до настоящего времени графический режим является надстройкой над командным, а для Windows – командный режим как основной прекратил существование в 1995 году (рис. 4.7).

    (рис 4.7) Командный и графический интерфейс семейства UNIX/Linux и Windows

    Отметим, что операционная система MS DOS последние свои годы снабжалась надстройкой, обеспечивающей пользователями GUI. Названия этих графических оболочек были Windows1, Windows2, Windows3.

    Из других графических интерфейсов назовем OPENSTEP, реализованный на компьютерах фирмы NeXT. Его создавал Стивен Джобс, основатель фирмы Apple, в период, когда он покинул ее и пытался завоевать мир новой разработкой. Этот интерфейс в дальнейшем был перенесен и на другие компьютерные платформы (рис. 4.8).

    Обратите внимание на его отличия от того, что в это время предлагала фирма Microsoft со своей Windows95 (пример рабочего стола приведен в главе 2, в части, посвященной операционным системам этой фирмы).

    По адресу http://www.guidebookgallery.org/guis можно познакомиться с "галереей" графических интерфейсов пользователей на разных компьютерных платформах. Приведем два снимка экрана, на которых представлен перечень всех элементов галереи (рис. 4.9).

    (рис 4.8) Графический интерфейс OPENSTEP Jan 1997 платформы

    Отдельно остановимся на списке из 5 элементов Desktop metaphor GUI (non monolitic). Они содержат ссылки на описание систем, обеспечивающих графический интерфейс пользователя UNIX. Здесь коротко упомянем только два, остальные подробно рассматриваются дальше.

    (рис 4.9а) Галерея графических интерфейсов на разной аппаратуре (часть 1)

    На этих рисунках обратите внимание на более чем десяток типов рабочих столов (от Amiga OS до Xerox Star/View Point/Global View). Хотя рабочий стол Windows занимает одно из мест, но на сегодняшний день многие производители приняли его стандарты. В этом же ряду упомянуты системы, активно влиявшие на развитие операционных систем, но сегодня уже не существующие. Среди них:

  • OS/2 от IBM, долгое время являвшаяся конкурентом Windows;
  • BeOS, созданная корпорацией Ве Inc и обладавшая в момент своего выпуска многими пионерскими новинками. Это работа на 64-разрядной аппаратуре, удобный интерфейс пользователя и многое другое.
  • (рис 4.9б) Галерея графических интерфейсов на разной аппаратуре (часть 2)

    OPEN LOOK представляет собой спецификацию графического интерфейса пользователя рабочих станций UNIX. Была создана в конце 1980-х годов Sun Microsystems и ATT при участии Xerox. Эта спецификация была основной для операционной системы на ранних стадиях реализации графического интерфейса. Впоследствии утеряла свое значение в связи с появлением графического интерфейса Motif от OSF. Common Desktop Environment (CDE) – среда рабочего стола, основанная на системе Motif. Она была создана The Open Group вместе с рядом фирм: Hewlett-Packard, IBM, Novell. Некоторое время она была промышленным стандартом для UNIX-систем.

    Режим GUI используется в разных операционных системах. Многие его разработчики пытались найти свой, наиболее привлекательный для пользователей "стиль". Со временем они вынуждены были оглядываться на то, что делают другие фирмы, или даже объединяться для стандартизации составляющих графического интерфейса. Современное представление о графическом интерфейсе, на наш взгляд, объединяет все лучшее от разных производителей. Думается, поиски в этом направлении продолжатся и далее, хотя часто говорят о том, что с первых шагов становления графического интерфейса ничего принципиально не изменилось – все его основные элементы остаются прежними (рабочий стол, меню, иконки).

    Пожалуй, следует отметить и еще одну тенденцию: последние варианты реализации графического интерфейса построены с "оглядкой" на то, что реализовано в операционных системах Windows. Это объясняется большой их долей (около 90%) на рынке персональных компьютеров.

    Как уже говорилось выше, для систем UNIX долгое время – с начала 70-х годов и, пожалуй, до конца 80-х – единственным режимом был командный режим работы. Сегодня он уступил свое место графическому. В семействе операционных систем UNIX (напомним, работающих на разных аппаратных платформах) графический интерфейс пользователя поддерживается системой X Window System. Основной сайт с информацией о ней имеет адрес http://www.x.org. Последняя версия, представленная там, имеет имя X11R7.5.

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

    4.2.1. К истории 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 и другие компании. Этот проект возник в противовес объединению ATT и 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

    4.2.2. Основные понятия системы 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. Но сейчас это не является обязательным для всех систем.

    4.2.3. 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-подобных системах:

  • среды рабочего стола: CDE, EDE, etoile, GNOME, JDS, KDE, LXDE, Mezzo, OpenWindows, ROX, Xfce, Xpde;
  • оконные менеджеры: AfterStep, Awesome, Blackbox, CTWM, dwm, Enlightenment, Fluxbox, FVWM, IceWM, JWM, Openbox, Sawfish, twm, Window Maker, wmii;
  • командные оболочки: 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.

    4.2.4. Интегрированная графическая среда KDE

    Часто графическую среду KDE называют наиболее распространенной. Проект был основан в октябре 1996 года студентом Маттиасом Эттрихом, а в июле 1998 года выпущена версия 1.0. Сокращение образовано от K Desktop Environment. Она строится на основе инструментария разработки пользовательского интерфейса с именем Qt. Интересной особенностью последнего является свойство кроссплатформенности. Хотя эта среда разрабатывается для UNIX-подобных систем, но возможен ее запуск и на других платформах, например, с использованием cygwin под Microsoft Windows.

    KDE включает в себя набор тесно взаимосвязанных программ пользователя. В его рамках разрабатывается полнофункциональный офисный пакет KOffice, а также интегрированная среда разработки KDevelop.

    Основной адрес в Интернете команды KDE – http://www.kde.org, а в России – http://kde.ru/. В 2010 году начат выпуск версии 4.0, содержащей следующие основные нововведения:

  • переход на четвертую версию библиотеки элементов интерфейса Qt;
  • новый стиль оформления – Oxygen;
  • новый мультимедийный интерфейс API – Phonon;
  • объединение Superkaramba, рабочего стола и панели Kicker в одно приложение – Plasma.
  • Эта версия обеспечивает новые технологии не только для UNIX, но и для Microsoft Windows и Mac OS X. Узнать компьютер, на котором работает KDE, можно по его талисману – дракончику Konqi (рис. 4.16). Обратите внимание, что на изображении Konqi можно увидеть другой символ, который часто появляется при работе в среде KDE.

    (рис 4.16) Талисман KDE

    Еще отметим, что по адресу http://www.kde.ru/wiki/HomePage расположены страницы русского проекта локализации KDE, где содержимое создается, изменяется, обсуждается и поддерживается пользователями, разработчиками и всеми остальными, кто как-либо причастен к этому проекту.

    4.2.5. Интегрированная графическая среда GNOME

    Название GNOME является акронимом от английского GNU Network Object Model Environment ("сетевая объектная среда GNU"). На русскоязычном сайте [67], посвященном этой интегрированной среде, дается такой ответ на вопрос "Что такое GNOME?": в рамках проекта GNOME создаются две вещи – рабочая среда GNOME, простая в использовании и привлекательная на вид среда рабочего стола; а также платформа разработки GNOME – расширяемая среда для создания приложений, тесно интегрируемых с рабочим столом.

    Основной сайт проекта GNOME располагается по адресу http://www.gnome.org. Его история начинается с 1997 года и связана с именами Мигеля де Иказа и Федерико Мена. Основной целью было создать полностью свободную рабочую среду для операционной системы GNU/Linux [68], поскольку основной инструмент разработки Qt – другой интегрированной среды KDE – не был лицензирован на условиях GNU GPL. Отметим, что эти проблемы были ликвидированы в версии Qt 2.2 в 2000 году.

    Среда рабочего стола GNOME была построена на основе GTK+, созданной при разработке мощного графического пакета GIMP. Кроме того, используется еще много различных технологий и библиотек. Описываемая интегрированная среда может быть запущена на большинстве UNIX-систем, адаптирована для работы под управление Solaris, а также через специальный порт может быть запущена под Windows.

    Среди других особенностей интегрированной графической среды отметим java-апплеты – набор приложений, встраиваемых в панель рабочего стола (GNOME Panel) для выполнения различных функций (например, с именем "Часы" или "Расчистка рабочего стола"). Логотипом системы является следующее изображение (пятка Гнома).

    (рис 4.17) Логотип GNOME

    За локализацию среды GNOME отвечает проект перевода GNOME [3] (англ. GNOME Translation Project). Перевод пользовательского интерфейса и документации производится с помощью инструментария gettext.

    Статистика [7] для GNOME 2.30:

  • на 32 языка переведено более 90 % строк пользовательского интерфейса;
  • еще на 33 языка переведено от 50 % до 90 % строк;
  • на русский язык переведено 99 % строк пользовательского интерфейса и 46 % строк документации.
  • Последняя версия 2010 года имеет номер 2.30.

    Страницы:

    4.1. Основные понятия, связанные с интерфейсом операционных систем

    В области информационных технологий имеется несколько фундаментальных понятий. Одно из них – "интерфейс". Отметим, что оно может трактоваться с различных точек зрения. В предыдущей главе описано понятие "Интерфейс системных вызовов". Если искать такой термин в "Словарях" Yandex, то будет получено более десятка определений термина, большая часть которых дана в сочетаниях с другими терминами, например: "Интерфейс передачи данных", "Программный интерфейс", "Прикладной интерфейс". В словаре "Естественные науки" на ГЛОССАРИЙ.RU дается следующее определение фундаментальному понятию.

    Интерфейс в широком смысле – определенная стандартами граница между взаимодействующими независимыми объектами. Интерфейс задает параметры, процедуры и характеристики взаимодействия объектов.

    В "Издательском словаре-справочнике" [61] есть такое определение основному термину "интерфейс". Это:

  • Система связей и взаимодействия устройств компьютера.
  • Средства взаимодействия пользователей с операционной системой компьютера, или пользовательской программой. Различают графический интерфейс пользователя (взаимодействие с компьютером организуется с помощью пиктограмм, меню, диалоговых окон и пр.) и интеллектуальный интерфейс (средства взаимодействия пользователя с компьютером на естественном языке пользователя).
  • Как видим, здесь этот термин имеет два значения. Но мы кратко остановимся на втором – "интерфейс пользователя". На уже упомянутом нами источнике ГЛОССАРИЙ.RU он определяется так: "Интерфейс пользователя – это элементы и компоненты программы, которые способны оказывать влияние на взаимодействие пользователя с программным обеспечением, в том числе:

  • средства отображения информации, отображаемая информация, форматы и коды;
  • командные режимы, язык пользователь-интерфейс;
  • устройства и технологии ввода данных;
  • диалоги, взаимодействие и транзакции между пользователем и компьютером;
  • обратная связь с пользователем;
  • поддержка принятия решений в конкретной предметной области;
  • порядок использования программы и документация на нее".
  • По мере развития вычислительной техники методы и средства взаимодействия пользователя с операционной системой менялись. Широкое распространение цифровых вычислительных машин привело к режиму общения между человеком и ЭВМ на специальном языке. Сначала, в период пакетной обработки заданий, это реализовалось с применением специальных носителей информации (например, перфокарт, на которые наносились задания для компьютера). Но в дальнейшем, с широким распространением терминалов и клавиатуры, основным стал командный режим работы пользователя, при котором взаимодействие строилось на основе системы встроенных команд. В свободной энциклопедии "Википедия" он определен так.

    Интерфейс командной строки (англ. Command line interface, CLI) – разновидность текстового интерфейса (CUI) между человеком и компьютером, в котором инструкции компьютеру даются в основном путем ввода с клавиатуры текстовых строк (команд), в UNIX-системах возможно применение мыши. Также известен под названием "консоль".

    Приведем приблизительный фрагмент экрана, который появляется в режиме командной строки (рис. 4.1).

    (рис 4.1)

    Слева в строке появляется приглашение ( [asplinux@asplinuxlive ~] ), после него можно набрать команду, результаты которой выводятся далее. Приведем пример выполнения команды date в системе Linux (рис. 4.2).

    (рис 4.2)

    Первые операционные системы фирмы Microsoft для персональных компьютеров IBM PC (они назывались MS DOS) также поддерживали командный режим, схожий с другими системами. Строка, в которой набирались команды, была схожей с приведенными выше. Сегодня командный режим операционных систем обеспечивается эмуляторами cmd.exe (для 32-х разрядного режима) или command.com (для 16-х разрядного режима). В графическом режиме семейства UNIX/Linux командная строка эмулируется программой Терминал (xterm).

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

    "Norton Commander (NC) – популярный файловый менеджер для DOS, первоначально разработанный американским программистом John Socha (некоторые дополнительные компоненты были полностью или частично написаны другими людьми: Linda Dudinyak – Commander Mail, вьюеры; Peter Bradeen – Commander Mail; Keith Ermel, Brian Yoder – вьюеры). Программа была выпущена компанией Peter Norton Computing (глава – Питер Нортон), которая позже была приобретена корпорацией Symantec".

    Приведем пример снимка экрана этого файлового менеджера (рис. 4.3).

    (рис 4.3) Легендарный файловый менеджер Norton Commander

    Популярность программы была настолько велика, что появились многочисленные клоны, которые более или менее точно копировали нортоновский интерфейс. К примеру, DOS Navigator, визуально схожий с Norton Commander-ом, предоставлял даже большие возможности. Для операционной системы Microsoft Windows появились Volkov Commander, FAR Manager, Total Commander и другие аналогичные программы. Впоследствии клоны появились и на других операционных системах: BSD, GNU/Linux – Midnight Commander, Krusader.

    Norton Commander не только спровоцировал целую серию собственных клонов и реплик, но и внес в русский язык пару новых слов – "нортон" и "коммандер" стали в жаргоне пользователей ПК синонимами словосочетания "файловый менеджер".

    Введенная программой парадигма работы с файлами (2 одинаковые панели, между которыми происходят операции; большинство команд выполняется по "горячим клавишам") до сих пор применяется в подавляющем большинстве файловых менеджеров.

    Norton Commander также стал персонажем серий притч и анекдотов. Первая серия была написана Александром Голубевым, несколько последующих выпускались и дополнялись различными авторами, имена которых постепенно были утеряны, после чего эти рассказики перешли в состояние фольклора.

    Также имеется музыкальная группа Nord'n'Commander.

    В разных версиях Linux используется аналог такой программы, называемой Midnight Commander. Приведем ее вид (рис. 4.4), когда она вызвана в режиме эмуляции командной строки.

    (рис 4.4) Программа Midnight Commander, выполненная в Терминале

    Но идея разделений окна на две части, в которых представлено содержимое каталогов, осталась привлекательной и при появлении операционной системы только с графическим интерфейсом – Windows 95. Аналоги Norton Commander для этой и последующих версий многочисленны. В интегрированной графической среде UNIX аналогом NC является GNOME Commander. Приводим вид (рис. 4.5) файлового менеджера Total Commander (ранее известного как Windows Commander) операционной системы Windows XP [62].

    (рис 4.5) Файловый менеджер Total Commander

    Но сегодня командный режим уходит в прошлое, уступая место другим. Кроме командного, определяются еще два современных вида интерфейса: WIMP и SILK.

    WIMP-интерфейс (Window – окно, Image – образ, Menu – меню, Pointer – указатель). Характерной особенностью этого вида интерфейса является то, что диалог с пользователем ведется не с помощью команд, а с помощью графических образов – меню, окон, других элементов. Хотя и в этом интерфейсе подаются команды машине, но это делается "опосредованно", через графические образы. Этот вид интерфейса реализован на двух уровнях технологий: простой графический интерфейс и "чистый" WIMP-интерфейс.

    SILK-интерфейс (Speech – речь, Image – образ, Language – язык, Knowledge – знание). Этот вид интерфейса наиболее приближен к обычной, человеческой форме общения. В рамках этого интерфейса идет обычный "разговор" человека и компьютера. При этом компьютер находит для себя команды, анализируя человеческую речь и находя в ней ключевые фразы. Результат выполнения команд он также преобразует в понятную человеку форму. Этот вид интерфейса наиболее требователен к аппаратным ресурсам компьютера, и поэтому его применяют в основном для военных целей.

    Долгое время возможности компьютеров, их технические характеристики предписывали пользователям работу в командном режиме как в основном. Первые персональные компьютеры также использовали его. Но в последние годы такой режим вытеснен другим – графическим. Он потребовал от компьютера больших ресурсов, но привнес новое – удобство, разнообразный дизайн, многозадачность (правда последняя может быть реализована и в командном режиме). Для обозначения графического режима используют аббревиатуру GUI (Graphics User Interface), что дословно переводят как "графический интерфейс пользователя", но часто при переводе заменяют на "многооконный графический интерфейс".

    Первое появление графического интерфейса (рис. 4.6) следует связывать с фирмой XEROX. В ее лаборатории PARC (Palo Alto Reseach Center) в 1973 году создавался компьютер Alto. Последний был оснащен мышью и хорошим монитором. Считают, что этот компьютер обладал GUI, но широкого распространения не получил. Xerox все-таки решается вдохнуть жизнь в экспериментальный Alto, выпустив на рынок его полноценного коммерческого преемника – компьютер Star.

    (рис 4.6) Первый графический интерфейс от фирмы Xerox

    Приведем высказывание из статьи Олега Свиргстина [63]: "Alto был первым в мире компьютером, на котором были практически реализованы метафора "рабочего стола" и графический пользовательский интерфейс, прежде существовавшие только в теоретических разработках".

    Для операционных систем семейства UNIX, как и многих других, долгое время командный режим работы был основным. Пожалуй, сегодня он используется в основном для администрирования, его потеснил режим графического интерфейса. Фирма Microsoft более 10 лет (с 1981 года) обеспечивала персональным компьютерам IBM PC только командный режим, в то время как у соперников уже в 1984 году был реализован GUI. Правда, эта компания стремилась реализовать последний режим работы, что и было достигнуто в середине 90-х.

    Приведем рисунок, иллюстрирующий этапы работы операционных систем Microsoft и UNIX в командном и графическом режимах. Из него видно, что для операционных систем UNIX/Linux до настоящего времени графический режим является надстройкой над командным, а для Windows – командный режим как основной прекратил существование в 1995 году (рис. 4.7).

    (рис 4.7) Командный и графический интерфейс семейства UNIX/Linux и Windows

    Отметим, что операционная система MS DOS последние свои годы снабжалась надстройкой, обеспечивающей пользователями GUI. Названия этих графических оболочек были Windows1, Windows2, Windows3.

    Из других графических интерфейсов назовем OPENSTEP, реализованный на компьютерах фирмы NeXT. Его создавал Стивен Джобс, основатель фирмы Apple, в период, когда он покинул ее и пытался завоевать мир новой разработкой. Этот интерфейс в дальнейшем был перенесен и на другие компьютерные платформы (рис. 4.8).

    Обратите внимание на его отличия от того, что в это время предлагала фирма Microsoft со своей Windows95 (пример рабочего стола приведен в главе 2, в части, посвященной операционным системам этой фирмы).

    По адресу http://www.guidebookgallery.org/guis можно познакомиться с "галереей" графических интерфейсов пользователей на разных компьютерных платформах. Приведем два снимка экрана, на которых представлен перечень всех элементов галереи (рис. 4.9).

    (рис 4.8) Графический интерфейс OPENSTEP Jan 1997 платформы

    Отдельно остановимся на списке из 5 элементов Desktop metaphor GUI (non monolitic). Они содержат ссылки на описание систем, обеспечивающих графический интерфейс пользователя UNIX. Здесь коротко упомянем только два, остальные подробно рассматриваются дальше.

    (рис 4.9а) Галерея графических интерфейсов на разной аппаратуре (часть 1)

    На этих рисунках обратите внимание на более чем десяток типов рабочих столов (от Amiga OS до Xerox Star/View Point/Global View). Хотя рабочий стол Windows занимает одно из мест, но на сегодняшний день многие производители приняли его стандарты. В этом же ряду упомянуты системы, активно влиявшие на развитие операционных систем, но сегодня уже не существующие. Среди них:

  • OS/2 от IBM, долгое время являвшаяся конкурентом Windows;
  • BeOS, созданная корпорацией Ве Inc и обладавшая в момент своего выпуска многими пионерскими новинками. Это работа на 64-разрядной аппаратуре, удобный интерфейс пользователя и многое другое.
  • (рис 4.9б) Галерея графических интерфейсов на разной аппаратуре (часть 2)

    OPEN LOOK представляет собой спецификацию графического интерфейса пользователя рабочих станций UNIX. Была создана в конце 1980-х годов Sun Microsystems и ATT при участии Xerox. Эта спецификация была основной для операционной системы на ранних стадиях реализации графического интерфейса. Впоследствии утеряла свое значение в связи с появлением графического интерфейса Motif от OSF. Common Desktop Environment (CDE) – среда рабочего стола, основанная на системе Motif. Она была создана The Open Group вместе с рядом фирм: Hewlett-Packard, IBM, Novell. Некоторое время она была промышленным стандартом для UNIX-систем.

    Режим GUI используется в разных операционных системах. Многие его разработчики пытались найти свой, наиболее привлекательный для пользователей "стиль". Со временем они вынуждены были оглядываться на то, что делают другие фирмы, или даже объединяться для стандартизации составляющих графического интерфейса. Современное представление о графическом интерфейсе, на наш взгляд, объединяет все лучшее от разных производителей. Думается, поиски в этом направлении продолжатся и далее, хотя часто говорят о том, что с первых шагов становления графического интерфейса ничего принципиально не изменилось – все его основные элементы остаются прежними (рабочий стол, меню, иконки).

    Пожалуй, следует отметить и еще одну тенденцию: последние варианты реализации графического интерфейса построены с "оглядкой" на то, что реализовано в операционных системах Windows. Это объясняется большой их долей (около 90%) на рынке персональных компьютеров.

    Как уже говорилось выше, для систем UNIX долгое время – с начала 70-х годов и, пожалуй, до конца 80-х – единственным режимом был командный режим работы. Сегодня он уступил свое место графическому. В семействе операционных систем UNIX (напомним, работающих на разных аппаратных платформах) графический интерфейс пользователя поддерживается системой X Window System. Основной сайт с информацией о ней имеет адрес http://www.x.org. Последняя версия, представленная там, имеет имя X11R7.5.

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

    4.2.1. К истории 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 и другие компании. Этот проект возник в противовес объединению ATT и 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

    4.2.2. Основные понятия системы 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. Но сейчас это не является обязательным для всех систем.

    4.2.3. 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-подобных системах:

  • среды рабочего стола: CDE, EDE, etoile, GNOME, JDS, KDE, LXDE, Mezzo, OpenWindows, ROX, Xfce, Xpde;
  • оконные менеджеры: AfterStep, Awesome, Blackbox, CTWM, dwm, Enlightenment, Fluxbox, FVWM, IceWM, JWM, Openbox, Sawfish, twm, Window Maker, wmii;
  • командные оболочки: 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.

    4.2.4. Интегрированная графическая среда KDE

    Часто графическую среду KDE называют наиболее распространенной. Проект был основан в октябре 1996 года студентом Маттиасом Эттрихом, а в июле 1998 года выпущена версия 1.0. Сокращение образовано от K Desktop Environment. Она строится на основе инструментария разработки пользовательского интерфейса с именем Qt. Интересной особенностью последнего является свойство кроссплатформенности. Хотя эта среда разрабатывается для UNIX-подобных систем, но возможен ее запуск и на других платформах, например, с использованием cygwin под Microsoft Windows.

    KDE включает в себя набор тесно взаимосвязанных программ пользователя. В его рамках разрабатывается полнофункциональный офисный пакет KOffice, а также интегрированная среда разработки KDevelop.

    Основной адрес в Интернете команды KDE – http://www.kde.org, а в России – http://kde.ru/. В 2010 году начат выпуск версии 4.0, содержащей следующие основные нововведения:

  • переход на четвертую версию библиотеки элементов интерфейса Qt;
  • новый стиль оформления – Oxygen;
  • новый мультимедийный интерфейс API – Phonon;
  • объединение Superkaramba, рабочего стола и панели Kicker в одно приложение – Plasma.
  • Эта версия обеспечивает новые технологии не только для UNIX, но и для Microsoft Windows и Mac OS X. Узнать компьютер, на котором работает KDE, можно по его талисману – дракончику Konqi (рис. 4.16). Обратите внимание, что на изображении Konqi можно увидеть другой символ, который часто появляется при работе в среде KDE.

    (рис 4.16) Талисман KDE

    Еще отметим, что по адресу http://www.kde.ru/wiki/HomePage расположены страницы русского проекта локализации KDE, где содержимое создается, изменяется, обсуждается и поддерживается пользователями, разработчиками и всеми остальными, кто как-либо причастен к этому проекту.

    4.2.5. Интегрированная графическая среда GNOME

    Название GNOME является акронимом от английского GNU Network Object Model Environment ("сетевая объектная среда GNU"). На русскоязычном сайте [67], посвященном этой интегрированной среде, дается такой ответ на вопрос "Что такое GNOME?": в рамках проекта GNOME создаются две вещи – рабочая среда GNOME, простая в использовании и привлекательная на вид среда рабочего стола; а также платформа разработки GNOME – расширяемая среда для создания приложений, тесно интегрируемых с рабочим столом.

    Основной сайт проекта GNOME располагается по адресу http://www.gnome.org. Его история начинается с 1997 года и связана с именами Мигеля де Иказа и Федерико Мена. Основной целью было создать полностью свободную рабочую среду для операционной системы GNU/Linux [68], поскольку основной инструмент разработки Qt – другой интегрированной среды KDE – не был лицензирован на условиях GNU GPL. Отметим, что эти проблемы были ликвидированы в версии Qt 2.2 в 2000 году.

    Среда рабочего стола GNOME была построена на основе GTK+, созданной при разработке мощного графического пакета GIMP. Кроме того, используется еще много различных технологий и библиотек. Описываемая интегрированная среда может быть запущена на большинстве UNIX-систем, адаптирована для работы под управление Solaris, а также через специальный порт может быть запущена под Windows.

    Среди других особенностей интегрированной графической среды отметим java-апплеты – набор приложений, встраиваемых в панель рабочего стола (GNOME Panel) для выполнения различных функций (например, с именем "Часы" или "Расчистка рабочего стола"). Логотипом системы является следующее изображение (пятка Гнома).

    (рис 4.17) Логотип GNOME

    За локализацию среды GNOME отвечает проект перевода GNOME [3] (англ. GNOME Translation Project). Перевод пользовательского интерфейса и документации производится с помощью инструментария gettext.

    Статистика [7] для GNOME 2.30:

  • на 32 языка переведено более 90 % строк пользовательского интерфейса;
  • еще на 33 языка переведено от 50 % до 90 % строк;
  • на русский язык переведено 99 % строк пользовательского интерфейса и 46 % строк документации.
  • Последняя версия 2010 года имеет номер 2.30.

    Вернуться к учебному плану