Менеджеры окон — XFce
Что такое оконные менеджеры, иначе называемые столь же исконно русским словом — диспетчеры окон? Вопрос не праздный для пользователя, скажем, Windows, впервые приобщившегося к Linux. В поисках ответа, то есть точного определения, я безуспешно пролистал немало толстых книг. Потому попробую сформулировать своими словами.
И так, оконный менеджер — это программа (клиент) XWindow, управляющая элементами его (или все-таки ее? то есть XWindow) интерфейса. К которым, кроме окон, относятся меню, полосы прокрутки, кнопки и т.д. Однако, в отличие от окон, они не являются обя — как будет показано дальше, бывают и такие менеджеры окон, где, кроме окон терминала, нет ничего; откуда, как я понимаю, и название.
В отличие от Windows, где элементы графического интерфейса жестко встроены в систему, в XWindow определены (Консорциумом X) лишь основные требования к нему. И потому оконных менеджеров, функционирующих под Unix вообще и под Linux в частности, расплодилось великое множество: только на Linuxberg я насчитал их 25, и нельзя быть уверенным, что этот список — полон.
Кроме собственно оконных менеджеров, в XWindow существует понятие оконной среды. Которая, кроме базовых интерфейсных элементов, содержит также всякого рода утилиты и прикладные программы. Таковых — две, KDE и GNOME. При этом, насколько я понимаю (если не прав — поправьте), KDE является также и собственным оконным менеджером, а GNOME использует для управления интерфейсом сторонний оконный менеджер (Enligtenment, о котором надеюсь рассказать позже). Во всяком случае, установить GNOME без Enligtenment нельзя.
До недавнего времени я пользовался исключительно KDE. И поныне, даже ознакомившись с еще несколькими оконными менеджерами, полагаю его наиболее подходящим для начального этапа ознакомления с XWindow. Однако одна из свобод, даруемых Linux — это свобода выбора. В том числе и выбора визуальной среды для работы: согласитесь, что скучно созерцать изо дня в день одни и те же окна.
И я решил на досуге заняться исследованием вопроса об оконных менеджерах. Для чего, устанавливая последнюю версию Linux Mandrake 7.0/RE, установил их все, сколько было в дистрибутиве.
Изучение стимулировалось чрезвычайно удобной программой wmselect Петра Новодворского, запускаемой по умолчанию при старте XWindow: она позволяла, не меняя никаких настроек, выбрать оконный менеджер для текущего сеанса.
Выбор был весьма обширен (рис. 1), включая двенадцать наименований: GNOME и KDE, известные, знакомый уже WindowMaker, AfterStep BlackBox и Enlightenment, о которых я кое-что слышал (и о которой уже писалось, например, в обзоре Вячеслава Максимова «Каждому GUI — своего Юзера», Byte Россия, 1998, # 4), и еще кое-какая неизвестная, по крайней мере мне, экзотика.
Вот с экзотики я и решил начать. А здесь первую (по счету) позицию занимал XFce. Которому и посвящается эта заметка. Первая, как надеюсь, из цикла об оконных менеджерах. Которые буду писать по мере знакомства с ними (и разумеется, сил и времени, поскольку изучение их — далеко не главное мое занятие).
При оценке я руководствовался требованиями, изложенными в заметке про WindowMaker:
- стабильности и быстродействия
- совместимости с нужными мне приложениями и удобства их запуска
- эстетическими соображениями (с точки зрения собственных симпатий и антипатий, разумеется).
Я не ставлю себе целью сравнение разных оконных менеджеров. И, тем паче, выбор лучшего среди них. Поскольку даже моего опыта уже хватило понять, что все они имеют свои достоинства и недостатки. И выбор их определяется даже не просто вкусами и предпочтениями, а просто настроением сегодняшнего дня и текущими задачами.
XFce — первые впечатления
Первый же запуск XFce (The Cholesterol Free Desktop Environment, что применительно к случаю я перевел бы как Настольная Среда для Холериков) показал ее соответствие названию: все работало весьма быстро и производило впечатление импульсивности.
Внешне XFce отличалась как от Windows-подобных систем (типа KDE), так и от потомков NEXTStep (вроде AfterStep или WindowMaker): в верхнем правом углу имелся переключатель виртуальных экранов (Pager, в терминологии авторов), а внизу по центру — панель кнопок (XFce Main Panel). Следует сказать, что все виденные мной оконные менеджеры вызывали воспоминания о традициях отечественной геологической школы: каждый считает своим долгом (и делом чести, подвига и геройства) придумать свою терминологию в обозначении интерфейсных элементов. Я по мере сил постараюсь ее унифицировать, давая для определенности и оригинальные названия.
Рабочий стол был пуст, как карман научного сотрудника. Щелчок на нем левой клавишей мыши вызывал меню для управления окнами и иконками, настройки мыши, фона (Backdrop) и звука, а также выхода, правой — список запущенных приложений. Средняя клавиша управляла размерами окон, их минимизацией, перемещением и фиксацией, пересылкой на другой рабочий стол, а также переключением между окнами. Средств запуска программ (типа минитерминала) или хотя бы стандартного xterm я тут не обнаружил.
Следовало разбираться с панелью кнопок (поскольку со вторым открытым элементом, переключателем экранов, все было ясно). Крайние позиции на ней занимали часы и Help В центре имелся второй переключатель экранов, обрамленный кнопками защиты (нажатие ее вызывало черный экран с предложением ввести пароль пользователя), информации о программе, настройки и выхода. А прочие шесть кнопок и вызывали прикладные программы. Стрелка над каждой вызывала дополнительное меню, также с кнопками вызова программ и предложением добавить новую кнопку. Процесс этот очень прост: щелчок правой клавишей вызывает панель в которой (броузингом или на память) вводятся пути до исполняемого файла и файла иконки, а также название (метка) программы.
По крайней мере один способ запуска программы стал ясен. Программы, запускаемые с панели по умолчанию, для меня по большей части представляли мало интереса; кроме терминала, браузера (Netscape, разумеется) и калькулятора (с тех пор, как перестал играть в преферанс, напрочь разучился считать в уме, даже умножать на десять), привлекли внимание:
- системный монитор (System Loader), показывающий загрузку процессора, памяти, диска и прочего
- своего рода экранная лупа (Magnifity), показывающая увеличенный кусочек экрана в окне примерно 350*350; правда, что с ним делать дальше — не вполне понятно
- своеобразный файловый менеджер XFTree.
Все кнопки, к счастью, легко переопределить — тем же способом, что и добавить новые.
Обзор возможностей XFTree
На XFTree остановлюсь подробнее, так как эта программа оказалась центральной во всей системе. Он имеет древовидную структуру, начинающуюся по умолчанию от /$HOME, которая может разворачиваться и сворачиваться.
Для выделения файла или каталога требуется фиксация и щелчок левой клавишей (что характерно для всей системы, отражая ее холерический темперамент). После этого щелчок правой клавишей вызывает обширное меню, позволяющее:
- открыть каталог в новом окне
- создать каталог или файл, удалить и переименовать их
- выделить элемент или все, а также выделить (так в оригинале) их
- найти файл
- просмотреть свойства файла или каталога, в том числе и права доступа, и при наличии необходимости и полномочий — изменить их
Копирования и перемещения файлов в меню не было. Первое осуществляется просто перетаскиванием выделенных элементов (множественное выделение — как в Windows, посредством Shift и Control), в том числе и между разными окнами XFTree (их можно открыть сколько угодно); а вот перемещения я вообще не нашел.
Как ни странно, здесь же оказался и пункт запуска программ, вызывающий панельку с предложение ввести ее имя и путь. Она аналогична minicli из KDE и, подобно последней, хранит историю команд, правда, только в текущем сеансе и в пределах текущего дисплея. Кроме того, если выделить одиночный файл, то по щелчку правой клавишей доступен пункт Открыть с , вызывающий ту же панель запуска программ с той же их историей.
В целом XFTree показался мне соответствующим стилю системы. Он производит впечатление очень быстродействующего, особенно в сравнении с крайне задумчивым kfm из KDE: разворачивание многоуровневых каталогов осуществлялось практически мгновенно, характерной для kfm в этом случае унылой надписи Работаю… (скорее, Дремлю ) — нет. Поиск от корневого каталога также происходит на порядок быстрее, чем в KDE. Недостаток, кроме невозможности перемещения файлов — отсутствие встроенного архиватора.
Программы запускаются в окне с управляющими кнопками — вызова управляющего меню и приклеивания (вверху слева) и минимизации и максимизации (вверху справа); стандартной кнопки закрытия нет, это можно сделать через управляющее меню; или щелчком правой клавишей на нем. Каждая программа привязана к виртуальному экрану, с которого была запущена. Но может быть перемещена на любой доступный экран через пункт управляющего меню Услать к (а почему бы не Послать на ?); если окно ее активизировано, услать ее на другой экран можно по щелчку средней клавишей на рабочем поле.
Не смотря на приуроченность программы к породившему ее виртуальному экрану, в списке запущенных задач (доступному по правой клавише мыши) все они идут одним списком, и без указания экрана, на котором локализованы (но зато — с координатами окна в пикселях, правда, не знаю, зачем); что создает известные неудобства, если запущено много приложений. Аналога панели задач из KDE здесь также нет.
Вообще, мне показалось, что самый удобный способ работы с XFce — открывать на каждом экране по одной программе (благо экранов можно создать много), и переключаться между ними через xfwm Pager или с панели кнопок.
Разобравшись с вопросами запуска и управления, я первым делом исследовал XFce на предмет совместимости с приложениями KDE. Здесь никаких проблем не возникло. Все используемые мной KDE-пакеты (WebMaker, KCommander, KJukeBox и другие) работали нормально, встраиваюсь в панель кнопок без всяких ухищрений. То же — у для приложений GNOME. А просто X-приложения — так те, визуально, работали даже быстрее. Особенно это было заметно на запуске StarOffice. Раскладка клавиатуры с английской на русскую переключалась нормально, все имеющиеся в системе русские шрифты оказались доступны. Вроде, желать больше нечего.
Настройка
Убедившись в работоспособности системы, можно было заняться ее эстетическим совершенствованием. Что осуществляется через кнопку «Установка» на главной панели.
- цветовую палитру (выбрав из списка или создав собственную)
- основные параметры XFce, как то: перерисовку окон, вид системных часов, количество виртуальных экранов (максимально — десять) и меню в главной панели (максимально — двенадцать), размер кнопок панели и меню, а также общую шрифтовую гарнитуру, шрифтоначертание и кегль (по счастью — броузингом, а не вручную
- параметры окон, такие, как фокус, показ содержимого при перетаскивании и изменении размера и прочее, а также шрифтовое оформление заголовков, иконок и меню
- автозапуск приложений из фиксированного списка.
А вот выбор фона производится из пункта Backdrop меню, доступного по щелчку левой клавишей мыши, или с главной панели. Можно выбрать из достаточно обширного штатного списка, или задать свой собственный, из любого места дерева каталогов и в любом из обычных растровых форматов. Аналогично — и со звуковыми сигналами для всяческих событий — они выбираются отдельно из того же меню или с главной панели (через утилиту XFSound). В отличие от KDE или WindowMaker, наборов связанных тем для XFce, насколько я понял, не предусмотрено.
Заключительные замечания
Вот, пожалуй, и все, что я пока узнал о оконном менеджере под названием XFce. Поводя итоги, могу сказать, что он показался мне вполне пригодным к использованию. Достоинства его — быстродействие (загрузка происходит за 2 секунды), компактность, простота освоения и применения. Главный недостаток, пожалуй, — не самые удобные средства манипуляции запущенными приложениями. Хотя если число их не превышает десятка=полутора, это практически не мешает, как я говорил. Ну а с эстетической стороны — XFce прост, но строг. И при подборе цветов и шрифтов — хорошо воспринимается.