Как уже отмечалось, то, с чем непосредственно сталкивается пользователь при работе в графическом режиме Linux – это оконный менеджер, именуемый в русскоязычной литературе также диспетчером окон.
Неоднократно в переводной документации по Debian встречается такая трактовка оригинального термина (Window Manager) – манипулятор окон. Пожалуй, по смыслу это наиболее удачный перевод, но он пока не прижился.
Именно оконный менеджер, установленный по умолчанию, возникает перед глазами после запуска X Window, каковой осуществляется стандартно командой startx, но может выполняться и различными иными способами: командой xinit или просто исполнимым модулем соответствующего менеджера.
Иногда может понадобиться введение дополнительных параметров, но это тема, которую мы затрагивать не будем.
Итак, оконный менеджер – это программа (X-клиент), обеспечивающая внешний вид и функциональность элементов графического интерфейса.
Под видом интерфейсных элементов понимают конфигурацию и оформление, в том числе цветовое, окна, его заголовка, рамок, линеек прокрутки, управляющих кнопок и меню.
Функциональность же – это возможность минимизации/максимизации, сворачивания в пиктограмму, перемещения, изменения размера, вызова различных наборов контекстных меню.
Поскольку ни вид, ни функциональность оконных менеджеров не привязаны, как в случае с Windows, к какому-либо GUI (ибо они сами таковыми являются), их внешность ограничиваются в X Window только фантазией авторов, а функциональность – их пониманием баланса между богатством возможностей и требовательностью к ресурсам.
В результате оконных менеджеров имеется огромное количество: функционально простых, обеспечивающих лишь базовые возможности по перерисовке окна, или насыщенных управляющими функциями; аскетически простых внешне, изысканно строгих или сюрреалистически причудливых.
Оценить число существующих оконных менеджеров можно по сайту Window Managers for X (http://www.plig.org/xwinman/index.html), где приведены многие десятки названий оконных менеджеров, сопровождающиеся более или менее подробными характеристиками и ссылками на сайты производителей.
Традиционными оконными менеджерами для XFree86 являются FVWM, OLWM, TWM и их вариации, воспроизводящие внешний вид интерфейсов Motif или OpenLook – стандартных графических интерфейсов мира Unix и X Window.
Есть системы, продолжающие линию развития интерфейса NextStep – Afterstep и WindowMaker. Имеются и оконные менеджеры, с большим или меньшим подобием имитирующие Windows 95 – FVWM95 и IceWM, а также интерфейсы иных настольных платформ – MacOS, Amiga, OS/2.
Кроме оконных менеджеров, имеются так называемые интегрированные графические среды. Их отличие в том, что, помимо (а иногда – вместо) функций управления окнами, они предоставляют доступ к некоторым наборам утилит и приложений, написанным специально для конкретной среды и более или менее тесно в нее встроенным.
Известны три традиционные графические среды, претендующие на титул интегрированной, – KDE, GNOME и XFce, различающиеся своей структурой, набором приложений и подходом к их интеграции.
Кроме того, имеется еще и CDE – это среда многих коммерческих Unix-систем, и о ней не будет речи в этом разделе.
Зачем простому пользователю такое изобилие графических интерфейсов, оконных менеджеров, интегрированных сред? Нетрудно ответить – для обеспечения все той же свободы выбора, конечной цели деятельности сообщества FSF.
Оконные менеджеры различаются функционально, и пользователь, в зависимости от своих задач, долговременных или сиюминутных, может выбрать любой вариант – обеспечивающий лишь базовые средства GUI или изощренный по своим возможностям.
Из различия функциональности следует, хотя и косвенно, различие требовательности к вычислительным ресурсам. И, исходя из возможностей своей машины и потребностей в быстродействии (а также "тяжести" запускаемых приложений), вы всегда можете подобрать оптимальное соотношение между функциональностью и ресурсоемкостью.
Наконец, и это немаловажно: вследствие различий интерфейса пользователь всегда можете подобрать себе рабочую среду, в наибольшей мере отвечающую его эстетическим представлениям или просто настроению сегодняшнего дня.
Последний штрих к общему портрету комфортной работы в UNIX-подобной системе – пользователь может обойтись без оконного менеджера вообще. И в этом случае не иметь никаких отвлекающих интерфейсных элементов. Как будет показано ниже, в некоторых случаях это вполне оправданный выбор.
Поэтому, приводимое описание и сравнение нескольких сред и оконных менеджеров, с коими сталкивается большинство UNIX-пользователей, не ставит задачу выбора лучшего их них: все они имеют свои особенности, определяющие целесообразность применения в тех или иных ситуаций. И выбор их может определяться даже не вкусами и предпочтениями, а просто настроением или текущими задачами.
Тем не менее, чтобы сделать выбор для текущего момента, без сравнения все же не обойтись. И, значит, должны иметь место некие критерии такого сравнения. В качестве которых мы рассмотрим три: функциональность; настраиваемость; стабильность и быстродействие. Кроме того, немаловажным для пользователя является эстетический момент.
Руководствуясь принципом "от привычного – к экзотическому", начнем рассмотрение с интегрированных графических сред, знакомых пользователю не только Windows, но и MacOS или OS/2. И первой в их ряду будет KDE – наиболее интегрированный выбор.
KDE
Скорее всего, свое знакомство с работой в графическом режиме под Linux (и с работой в Linux вообще) пользователь начнет именно с KDE (рис.1-2), поскольку
· во многих дистрибутивах она принята как графическая среда по умолчанию;
· как внешне, так и функционально она наиболее привычна недавнему Windows-мигранту;
· она располагает большим набором полнофункциональных и стабильно работающих приложений.
Рис.1
Рис.2
Итак, KDE – это интегрированная графическая среда, совмещенная с оконным менеджером. Она основана на наборе графических библиотек Qt, разрабатываемом норвежской фирмой Troll Tech (www.trolltech.com). Библиотека Qt распространялась на условиях собственной лицензии, предполагавшей бесплатность при некоммерческом использовании и весьма немалую цену – при использовании в проектах коммерческих. Это служило идеологическим препятствием для включения KDE в ряд распространенных дистрибутивов (Debian, до недавнего времени – Red Hat). Однако ныне условия лицензирования Qt изменились: теперь в ряде случаев она подпадает под условия GPL. Хотя плата за коммерческое использование библиотеки, по-видимому, сохраняется.
Традиционно, стабильная версия KDE основывается на соответствующей версии QT, так KDE 1.x.x, основана на Qt 1.x.x. В настоящее время на последней стадии бета-тестирования находится KDE 3 (на библиотеке Qt 3.x.x), выход релиза которой обещан со дня на день.
Внешне KDE имеет немало общего с Windows 9x, хотя спутать их невозможно. С одной стороны, это обеспечивает чувство смутного знакомства (и не обескураживает, как экзотика многих более самобытных графических систем). С другой стороны, это будит здоровое любопытство, не вызывая скуки, появляющейся при взгляде на ярко выраженные Windows-клоны (не для того же, в самом деле, мы ставили X Window, чтобы лицезреть кнопку Start).
Правда, и в KDE нечто вроде такой кнопки (называемой K) имеется. Она расположена в начале управляющей панели (каковая по умолчанию располагается вдоль нижнего края экрана, но может помещаться с любой его стороны). Управляющая панель отделена от панели задач, содержащей минимизированные значки запущенных приложений; последняя по умолчанию – вдоль верхней кромки экрана. Так что места достаточно для любого разумного количества кнопок и запущенных приложений (а если учесть еще минимум три рабочих стола, то более чем достаточно).
Меню стартовой кнопки K – многоуровневое иерархическое, построенное сходно со стартовым меню Windows. В главных его пунктах сгруппированы программы различного назначения:
· просто приложения (преимущественно текстовые редакторы, процессоры и средства просмотра содержимого файлов);
· игры (в весьма обширном ассортименте, включая множество любимых пользователем пасьянсов);
· средства для работы с графикой (как растровой, так и векторной, а также всякого рода программы просмотра изображений);
· интернет-приложения (браузеры, почтовые программы, средства удаленного доступа, модемного подключения и т.д.);
· средства мультимедиа (многочисленные аудио- и видеопроигрыватели различного назначения и для различных форматов);
· системные утилиты (вход в режиме супервизора, средства управления шрифтами и назначениями (account) пользователей, настройки оборудования и рабочей среды);
· утилиты общего назначения (огромный двухуровневый список, где представлено все – от архиваторов до демонстраторов фаз Луны);
· средства разработки – интегрированные среды, отладчики.
Практически все перечисленные приложения являются специфичными для KDE. Однако и запуск не рассчитанных на эту среду приложений не возбраняется, для чего они собраны в отдельный пункт – GNOME и приложения X. Здесь можно видеть подгруппы – средств администрирования и конфигурирования, Интернет- и мультимедиа-приложений, текстовых и графических редакторов и другие.
В меню кнопки K включены также пункты вызова:
· встроенной системы помощи в гипертекстовом формате, очень удобной и приятной в использовании;
· содержимого домашнего каталога;
· поиска файлов;
· центра управления KDE, который представляет из себя гибрид контрольной панели и средств настройки дисплея в Windows.
Кроме упомянутого положения панелей, в KDE поддается настройке и почти все остальное: цвет и узор фона, цветовые схемы в целом, экранные шрифты, размеры пиктограмм на панелях и рабочем столе, язык по умолчанию.
Содержимое управляющей панели включает на три группы полей (слева направо):
· поле кнопок общего назначения: присутствующие и в стартовом меню кнопки поиска файлов, вызова центра управления KDE, содержимого домашнего каталога, а также кнопки вызова многоуровневого меню (аналогичные по структуре кнопке K) – для списка открытых окон и утилит общего назначения;
· поле переключателей виртуальных экранов (иначе называемых виртуальными десктопами, дисплеями, рабочими столами и т.д.); это копии первого рабочего экрана по умолчанию, поддающиеся индивидуальной настройке; по умолчанию их четыре, но (посредством центра управления) можно создать сколько угодно, вернее, сколько память позволит;
· поле кнопок приложений; здесь по умолчанию присутствуют кнопки для вызова помощи, калькулятора, текстового редактора, эмулятора терминала и еще несколько; однако в него может быть включена кнопка для любой программы, не обязательно ориентированной на KDE; завершается это поле индикатором системного времени.
Панель задач в момент запуска KDE пуста. По мере загрузки приложений она заполняется кнопками – их минимизированными значками; в панели задач отображаются приложения со всех виртуальных экранов; щелчок мышью на некоей задаче вызывает автоматический переход на соответствующий ей виртуальный экран.
Между управляющей панелью и панелью задач располагается собственно рабочий стол. По умолчанию он имеет градиентную заливку, каждый из виртуальных десктопов – в своей цветовой гамме.
На рабочем столе расположены: серия иконок для вызова приложений, открытия папок (таких, как Автостарт, домашний каталог, корзина удаленных (только средствами KDE) файлов; здесь же - иконки для автоматического монтирования CD ROM, флоппи-диска и других сменных носителей, если они есть. Любое из этих действий происходит по одинарному щелчку левой клавишей мыши.
При этом при просмотре содержимого папок вызывается файловый менеджер kfm (совмещенный с браузером) – неотъемлемая часть всей этой среды; степень его интеграции в систему выше, чем Windows Explorer и Internet Explorer в соответствующей операционной системе.
Со всеми перечисленными интерфейсными элементами KDE связаны контекстные меню, доступные по щелчку правой клавишей мыши на соответствующем объекте. Для управляющей панели оно имеет пункты – Настройка и Перезапустить. С иконками сопряжены пункты – Открыть с (помощью программы, вводимой вручную или выбираемой из списка – А.Ф.), Копировать, Отправить в корзину, Свойства. Содержание их, думается, понятно без комментариев.
Контекстное меню, вызываемое по щелчку правой клавишей непосредственно на рабочем столе, содержит пункты:
· новый (папка, файл системного устройства, URL, приложение; последнее – для создания иконки вызова новой программы);
· закладки (аналог Bookmark в Windows Explorer);
· контекстно-зависимая помощь;
· свойства дисплей (для настройки параметров, доступной и через Центр управления);
· упорядочения и расположения окон и пиктограмм.
Особенно важен и интересен пункт Запустить. Он вызывает т.н. Minicli (что можно перевести как минитерминал) – облегченный вариант командной строки терминала или консоли (нечто аналогичное пункту Run из стартового меню Windows). С его помощью можно вызвать любую команду или запустить любую программу графического режима, причем с указанием всех необходимых аргументов. Поддерживается история команд: нажатием клавиш Up и Down можно просмотреть ранее введенные команды, правда, только в рамках текущего сеанса KDE.
Нужно заметить, что для манипуляций на рабочем столе задействована и средняя клавиша мыши: она вызывает список всех открытых окон с указанием на виртуальный экран, к которому они привязаны.
Каждая запущенная программа открывает свое окно на том виртуальном рабочем столе, с которого она была вызвана. Стандартными элементами окна, определяемыми интерфейсом KDE, являются:
· расположенная вверху строка заголовка, содержащая по умолчанию название программы или имя файла данных (если он открыт) с указанием полного пути до него;
· расположенные в том же ряду управляющие элементы: слева – управление окном (развертывание/свертывание, перемещение, изменение размера, перемещение на иной виртуальный рабочий стол, выбираемый из списка) и прикрепления окна с некоему месту на десктопе (т.н. "шпилька"); справа - минимизации на панели задач, развертывания на полный экран, закрытия;
· расположенные внизу статусная строка, содержание которой определяется программой, а также полоса горизонтальной прокрутки;
· расположенная справа полоса вертикальной прокрутки.
Кроме того, специфичные для KDE приложения имеют обычно полосу главного меню и инструментальную панель; обе они стандартизованы в стиле Windows.
В дополнение к многочисленным способам запуска приложений (из стартового меню, с помощью пиктограмм на управляющей панели или на рабочем столе, из контекстного меню с помощью Minicli) есть и традиционный для Linux (и Unix) способ – из окна эмуляции терминала. Он близок к приемам работы в командной строке консольного режима, рассматриваемого ниже.
Теперь рассмотрим KDE с точки зрения настраиваемости. Как уже говорилось, в пределах рабочих столов поддается настройке почти все: цвет и характер заливки фона, фоновые рисунки (именуемые обычно обоями, wallpapers), цвет, гарнитура, кегль и начертание подписей к пиктограммам и значкам панелей, цветовые схему элементов окон. Действия эти доступны из пункта меню Рабочий стол в Центре управления или из контекстного меню рабочего стола непосредственно.
Кроме того, в комплекте поставки имеется набор тем рабочего стола, то есть взаимосвязанных элементов – обоев, хранителей экрана, цветовых схем, шрифтов и прочего. Многочисленные темы рабочего стола представлены на ряде сайтов. Разумеется, в качестве обоев и других элементов можно встраивать в темы и свои картинки (в любом из обычных растровых форматов). Измененные таким образом темы могут быть сохранены для дальнейшего использования под собственными именами.
Штатная терминальная программа для KDE - konsole также имеет широкий спектр настроек: используются цвета фона и текста (в пределах заданных цветовых схем), размер шрифта, исходный размер терминального окна и т.д. В общем, возможности настройки KDE более чем удовлетворительны, чего, к сожалению, нельзя сказать о дизайне в целом. На специфичных для KDE пиктограммах лежит отчетливая печать индустриальности, градиентные заливки выглядят грубовато, экранные шрифты по умолчанию, мягко говоря, далеки от совершенства.
Не вызывает нареканий и устойчивость KDE. Столь же стабильно работают и его штатные приложения. А вот с точки зрения быстродействия данная среда рассматривается как одна из самых медлительных и ресурсоемких систем. Правда, на машине класса Pentium-IV с 512 Мбайт оперативной памяти чувства дискомфорта при работе с KDE не возникает. Однако, по сведениям многих респондентов, с уменьшением объема оперативной памяти быстродействие ее падает чуть ли не в геометрической прогрессии.
XFce
The Cholesterol Free Desktop Environment (XFce), что можно перевести как Настольная Среда для Холериков – также интегрированная графическая среда со своим собственным оконным менеджером, основанная на библиотеке Gtk (рис.3). Текущую ее версию можно найти на сайте на www.xfce.org, она входит и во многие дистрибутивы Linux.
Рис.3
Первый же запуск XFce показывает ее соответствие названию: все работает весьма быстро и производит впечатление импульсивности. Поведение системы определяется ее собственным оконным менеджером, именуемым XFwm. Он включает следующие интерфейсные элементы: переключатель (Pager, в терминологии авторов) виртуальных экранов в верхнем правом углу, и главная панель (XFce Main Panel) – внизу по центру.
Нельзя не отметить, что все оконные менеджеры и графические среды вызывают воспоминания о славных традициях отечественной геологической школы: каждый считает своим долгом (и делом чести, подвига и геройства) придумать собственную терминологию в обозначении интерфейсных элементов.
На главной панели можно видеть серию кнопок. Крайние позиции на ней занимают системные часы и Help. В центре – второй переключатель виртуальных экранов, обрамленный кнопками защиты (нажатие ее вызывает черный экран с предложением ввести пароль пользователя), информации о программе, настройки и выхода. Прочие же шесть кнопок вызывают серии прикладных программ.
Стрелка над каждой из этих кнопок вызывает дополнительные меню, уже с кнопками вызова непосредственно программ; в каждом из вторичных меню непременно присутствует кнопка с предложением добавить новую кнопку.
Процесс этот очень прост: щелчок правой клавишей вызывает панель, в которой вводятся (путем просмотра дерева каталогов или просто вручную) пути до исполняемого файла и файла иконки, а также название (метка) программы.
Среди включенных в главную панель обычных приложений и утилит (терминал, браузер, калькулятор, привлекают внимание специфичные для XFce программы: менеджер фонового оформления (backdrop manager), звуковой менеджер (sound manager), календарь, модуль совместимости с GNOME и весьма своеобразный файловый менеджер XFTree.
Все кнопки главной панели легко переопределяются, тем же способом, что и добавляются новые.
Рабочий стол при первом запуске пуст. Щелчок на нем левой клавишей мыши вызывает меню для управления окнами и иконками, настройки мыши, фона (Backdrop) и звука, а также выхода, правой – список запущенных приложений. Средняя клавиша управляет размерами окон, их минимизацией, перемещением и фиксацией, пересылкой на другой рабочий стол, а также переключением между окнами.
Средств запуска программ с рабочего стола (типа минитерминала KDE) не обнаруживается. Хотя такое средство включено в состав файлового менеджера. Так что, помимо главной панели, для запуска программ можно использовать только какой-либо стандартный эмулятор терминала (по умолчанию в нее включен xterm).
Программы запускаются в окне с управляющими кнопками – вызова управляющего меню, фиксации (вверху слева), минимизации и максимизации (вверху справа). Стандартной кнопки закрытия окна нет, это можно сделать через управляющее меню или щелчком правой кнопкой мыши на нем.
Каждая программа привязана к виртуальному экрану, с которого была запущена. Но может быть перемещена на любой доступный экран через пункт управляющего меню «Услать к». Если окно ее активизировано, услать ее на другой экран можно по щелчку средней клавишей на рабочем поле.
Несмотря на приуроченность программы к породившему ее виртуальному экрану, в списке запущенных задач (доступному по правой клавише мыши) все они идут одним списком, и без указания экрана, на котором локализованы (но зато - с координатами окна в пикселях), что создает известные неудобства, если запущено много приложений. Аналога панели задач из KDE здесь также нет.
Вообще, может показаться, что самый удобный способ работы с XFce - открывать на каждом экране по одной программе (благо экранов можно создать много), и переключаться между ними через xfwm Pager или с панели кнопок.
Убедившись в работоспособности системы, можно заняться ее эстетическим совершенствованием. Что осуществляется через кнопку «Установка» на главной панели. Здесь можно определить:
· цветовую палитру (выбрав из списка или создав собственную);
· основные параметры XFce, как то: перерисовку окон, вид системных часов, количество виртуальных экранов (максимально - десять) и кнопок вызова дополнительных меню в главной панели (максимально - двенадцать), размер кнопок панели и меню, а также общую шрифтовую гарнитуру, шрифтоначертание и кегль;
· параметры окон, такие, как фокус, показ содержимого при перетаскивании и изменении размера и прочее, а также шрифтовое оформление заголовков, иконок и меню
· автозапуск приложений из фиксированного списка.
Выбор фона производится с помощью штатного средства (backdrop manager) с главной панели или из пункта Backdrop контекстного меню. Можно выбрать из достаточно обширного штатного списка, или задать свой собственный, из любого места дерева каталогов и в любом из обычных растровых форматов. Аналогично - и со звуковыми сигналами для всяких событий - они выбираются отдельно из того же меню или с главной панели, также штатной утилитой (sound manager). В отличие от KDE, наборов связанных тем для XFce не предусмотрено.
Основные достоинства среды XFce – быстродействие, компактность, простота освоения и применения. С эстетической стороны среда проста, но строга. При соответствующем подборе цветов и шрифтов она хорошо воспринимается.
В то же время с точки зрения функциональности XFce хуже KDE. Главный ее недостаток – не самые удобные средства манипуляции запущенными приложениями. Но если число их не превышает 10-15, это практически не мешает.
GNOME
GNOME – вторая из полнофункциональных интегрированных графических сред, претендующая на равное место с KDE (рис.4). Подобно XFce, она основана на библиотеках Gtk, но отличается тем, что собственного оконного менеджера не имеет. До недавнего времени в этом качестве стандартно использовался Enligtenhment. Ныне эта роль перешла к Sawmill, переименованному по сему поводу в Sawfish. Впрочем, GNOME может работать и с некоторыми другими менеджерами окон, например, с описываемым ниже Window Maker.
Рис.4
Подобно KDE, GNOME – по настоящему интегрированная среда с большим специфичных приложений. Среди них текстовые редакторы и процессоры, редакторы html-кода и многие другие. Широко известный графический редактор GIMP, хотя и не написан специально для GNOME, основан на той же библиотеке Gtk.