Наши партнеры

UnixForum






Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Тематический каталог -> Графические оболочки Линукс

Знакомство с альтернативными рабочими столами Linux

Оригинал: Get familiar with alternative Linux desktops
Автор: Jack Wallen
Дата: 15 ноября 2007
Перевод: Александр Тарасов aka oioki
Дата перевода: 28 ноября 2007

При копировании материала обязательны указание автора, переводчика и ссылки на оригинал статьи и настоящую страницу как первоисточник перевода!

Linux доказал, что он удивительно гибок: после 10 лет использования, я не перестаю удивляться, насколько точно Linux выполняет то, что я хочу, причем на любом "железе". Настройка рабочего стола не исключение; каждый сможет подобрать для себя подходящий стиль рабочего стола: от ультра современных KDE и GNOME до Fluxbox и AfterStep.

Примечание автора

Подобно большинству оконных менеджеров (Window Manager, WM), Fluxbox и AfterStep работают на большинстве дистрибутивов Linux. Ваш дистрибутив может не иметь дополнительных WM в своих пакетах, поэтому для их работы необходимо будет скачать недостающие файлы. Для экспериментов я использовал машину, на которой установлена свеженькая Ubuntu 7.04 (Feisty Fawn), и имеющую следующие технические характеристики:

  • Процессор AMD 2800+
  • 528 Мб ОЗУ
  • Интегрированная видеокарта Via Technology VT8378
Очевидно, это не самый мощный компьютер, однако для альтернативных рабочих столов требуется не так много системных ресурсов (в отличие от KDE, GNOME, OS X или Windows).

Вкратце об оконных менеджерах

Основное отличие между KDE, GNOME и альтернативными WM - это то, что KDE и GNOME являются полностью интегрированными окружениями, т.е. в них включено множество приложений, зависящих от самого оконного менеджера. С другой стороны, оконный менеджер лишь рисует окна, меню и тому подобные вещи. Оконный менеджер сам по себе меньше, быстрее и в большинстве случаев менее функционален.

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

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

Помня об этом, рассмотрим два очень хороших WM.

Fluxbox

Fluxbox разработан на основе Blackbox. Разработчики Fluxbox, видя, что развитие Blackbox остановилось, решили возродить его. Они улучшили код, добавили функциональности (некоторые функции изумительны). Вот список текущих возможностей:

  • Конфигурируемые вкладки (позволяют объединить несколько одинаковых приложений в одном окне)
  • Простая панель иконок (для свернутых окон или свернутых в значок)
  • Несколько рабочих столов
  • Конфигурируемые заголовки
  • Поддержка KDE
  • Новый интегрированный KeyGrabber (с поддержкой клавиатурных комбинаций как в Emacs)
  • Частичная поддержка GNOME
  • Расширенная поддержка подсказок
Планируемые возможности Fluxbox:
  • Управление сеансами
  • Снимок окна
  • Настраиваемые панели инструментов
Посмотрим, как действительно выглядит Fluxbox. На рисунке 1 показан основной рабочий стол Fluxbox в стиле Spiff. Всего Fluxbox имеет 22 стиля, есть из чего выбрать.


Рисунок 1. Затененные окна, контекстное меню и панель инструментов

Рассмотрим компоненты в отдельности. Во-первых, минималистичная панель инструментов - это просто панель, на которой расположены запущенные приложения, свернутые или нет. Также на панели есть переключатель рабочих столов и часы. Настройки можно менять путем нажатия правой кнопки мыши на панели инструментов. При этом появится меню, показанное на рисунке 2.


Рисунок 2. Можно скрыть панель инструментов, выбрав пункт меню Hide

Конфигурация панели инструментов:

  • Auto hide: Панель инструментов автоматически скрывается, когда не происходит никаких действий.
  • Toolbar width percent: Какую ширину занимает панель в процентах от ширины экрана.
  • Maximize Over: Развернутые окна будут закрывать панель.
  • Layer: Слой рабочего стола, на котором будет располагаться панель.
  • Placement: Где будет располагаться панель инструментов.
  • Alpha: Прозрачность панели инструментов.
  • Iconbar Mode: Настройки панели значков (внутри главной панели).
  • Clock: Формат часов.
  • Edit Clock Format: Настройки формата часов.
Некоторые детали панели нельзя настроить через меню самой панели, и прежде всего это имена рабочих столов. В одной пользовательской сессии их может быть много, по умолчанию имеется 4 рабочих стола. Для настройки рабочего стола нажмите на нем средней кнопкой. Появится меню Workspace.

Если в этом меню выбрать Edit Workspace Name, появится небольшое окошко, в котором вам нужно будет ввести имя рабочего стола. После именования рабочего стола он появится на панели инструментов, как на рисунке 3.


Рисунок 3. Делайте имена как можно короче

Меню Fluxbox

Одним из недостатков (по крайней мере, для пользователей) Fluxbox является то, что главное меню необходимо вручную править в текстовом редакторе. По умолчанию меню редактируется через /etc/X11/fluxbox/fluxbox-menu. Для этого необходимы права root. Чтобы упростить правку меню, скопируйте этот файл в пользовательский каталог ~/.fluxbox и настройте меню на свой вкус.

Типичная запись меню выглядит так:


[exec] (OpenOffice.org Writer) {/usr/bin/oowriter} 
</usr/share/icons/gnome/32x32/apps/openofficeorg-21-writer.xpm>

Расшифровка записи.

  • [exec] : Указание, что дальше идет команда Fluxbox.
  • (OpenOffice.org Writer) : Название записи в меню.
  • {/usr/bin/oowriter} : Фактическая команда (должна быть записана в фигурных скобках {}).
  • </usr/share/icons/gnome/32x32/apps/openofficeorg-21-writer.xpm> : Файл с изображением иконки.
Рекомендуется подразделять записи меню на категории, или подменю. Предположим, вы хотите сгруппировать Интернет-приложения. Тогда файл настройки меню будет выглядеть примерно так:
[submenu] (Internet) {}
[exec] (Evolution) {/usr/bin/evolution}
</usr/share/pixmaps/evolution.xpm>

[exec] (Firefox Web Browser) {firefox}
</usr/share/pixmaps/firefox.xpm>

[exec] (Gaim) {/usr/bin/gaim}
</usr/share/pixmaps/gaim-menu.xpm>

[end]
Как можно заметить, для группировки используется запись [submenu] (название подменю) {} [end]. Пустые скобки говорят об отсутствии команды для выполнения.

Объединенные окна с несколькими вкладками

Хотя Fluxbox не такой зрелый проект, как другие окружения, но тем не менее у него есть интересные функции. Объединенные окна с несколькими вкладками (Tabbed Windows) - одна из приятных мелочей, которую было бы неплохо иметь в любом окружении. Посмотрите на рисунок 4:


Рисунок 4. Окно X-term не видно из-за окна A-term

Если вы откроете слишком много окон, вы рискуете потом заблудиться в них. Однако во Fluxbox есть решение этой проблемы. Если нажать правую кнопку мышки на маленькой вкладке в верхней левой части заголовка и перетянуть на другое окно, эти два окна объединяться и это объединение будет похоже на окно Firefox с несколькими вкладками.

Неважно, какие именно приложения вы объединяете. Если внимательно посмотреть на рисунок 4, вы увидите заголовок с тремя вкладками. Две из них - окна браузера, а еще одна - окно с этой статьей, которую я набираю в OpenOffice.org Writer.

AfterStep: Шаг назад

Когда я начал использовать Linux, моим первым оконным менеджером был Fvwm95. Хотя он и выглядел просто, но мне он не нравился. Я всегда искал красоту, поэтому этот оконный менеджер мне не подошел. Поиски графической оболочки, приятной для глаза, привели меня к AfterStep - основанному на внешнем виде интерфейса NeXTSTEP, популярность которого все увеличивалась. AfterStep был особенным, потому что делал вещи, которых не было в других окружениях. AfterStep слишком отличался от обычных оконных менеджеров.

К сожалению, AfterStep стал жертвой собственной уникальности. Посмотрите на рисунок 5: на рабочем столе находится довольно много элементов.


Рисунок 5: Симпатично, но кое-что может смутить неопытного пользователя

По умолчанию рабочий стол содержит:

  • Wharf (нижний правый и верхний левый углы на рисунке 5): Инструмент управления запуском приложений и панелью, содержащей наиболее часто используемые приложения и апплеты.
  • Winlist (верхняя часть): Простая панель задач, отображающая активные приложения, позволяет быстро переключаться между ними.
  • Icons (нижний левый угол): Это не те значки, к которым все привыкли. Когда приложение свернуто без переключения в winlist, приложение сворачивается в маленький значок. Для восстановления окна приложения нужно по нему щелкнуть.
  • Pager (верхний правый угол): Перемещение между несколькими рабочими столами.
  • Menu (центральная часть): Для вызова меню нажмите левую кнопку мыши.
Я всегда использовал AfterStep с минимальным количеством компонентов. Чтобы убрать ненужные детали, необходимо вручную отредактировать текст файла /usr/share/afterstep/autoexec. В этом файле будет примерно такая запись:
Module  "I"     WinList
Wait    "I"     WinList
Module  "I"     MonitorWharf
Wait    "I"     MonitorWharf
Module  "I"     Wharf
Wait    "I"     Wharf
Module  "I"     Pager 0 3
Чтобы отключить ненужный компонент, закомментируйте его, примерно так:
#       Module  "I"     WinList
#       Wait    "I"     WinList
#       Module  "I"     MonitorWharf
#       Wait    "I"     MonitorWharf
#       Module  "I"     Wharf
#       Wait    "I"     Wharf
#       Module  "I"     Pager 0 3 
После отключения элементов рабочего стола, смены темы и настройки цветовой гаммы я получил рабочий стол AfterStep, изображенный на рисунке 6.


Рисунок 6. Ничего лишнего, только меню и значки: мечта минималиста

Контекстное меню

Рассмотрим три возможных контекстных меню. Меню, вызываемое нажатием левой кнопки мыши является первичным - рисунок 7. Это меню содержит приложения, настройки рабочего стола, выход из сеанса и помогает в работе с AfterStep.


Рисунок 7. Полезное свойство: если нажать на изображении кнопки, меню будет открыто все время

Меню, закрепленное за средней кнопкой мыши, предоставляет пользователю команды для работы с окнами. Это меню позволяет выбрать действие (например, удаление окна), а затем использовать его на выбранном окне. Так, если у вас проблемы с Firefox, щелкните правой кнопкой мыши на рабочем столе. Появится меню как на рисунке 8. Выберите Kill, а затем кликните на заголовке Firefox, чтобы удалить окно приложения.


Рисунок 8. Нужно удалить окно? Вот как это можно сделать

Правая кнопка мыши действует как winlist - показывает запущенные приложения. Действие показано на рисунке 9.


Рисунок 9. Даже если приложение свернуто, оно все равно раскроется поверх других, если его выбрать в меню winlist

Чтобы изменять меню приложения AfterStep, необходимо также вручную редактировать текстовые файлы. Однако AfterStep, в отличие от Fluxbox, требует выполнения операций с несколькими файлами. Загляните в каталог /usr/share/afterstep/start; вы увидите что-то похожее на рисунок 10.


Рисунок 10. Единственное, чего не будет у вас в директории start это записи 1_aterm (ее создал я)

В этом каталоге располагаются как файлы, так и каталоги. Эти файлы ведут себя как отдельные меню, содержащие одно- или двустрочные записи меню:

Exec "aterm" exec aterm -tr -fg white -bg blue +sb &
MiniPixmap
"mini-app.xpm"

Структура записи похожа на ту, что была во Fluxbox:

  • Exec: Указание, что следом идет имя записи.
  • "aterm": Имя записи.
  • exec: Указание, что следом идет команда.
  • aterm -tr -fg white -bg blue +sb: Фактическая команда.
  • &: Запуск системой команды, однако командная строка остается незанятой.
  • MiniPixmap: Указание, что следом идет значок.
  • "mini-app.xpm": Фактический значок для записи.
Также в каталоге start располагаются подкаталоги. Каждый подкаталог отождествляется с подменю главного меню. В каждом подкаталоге лежат файлы для каждого приложения этого подменю. Если взглянуть на меню 0_Debian, вы не увидите ничего, пока не заглянете в скрытый файл .include. Он представляет собой ссылку на каталог /var/lib/afterstep/menu/Debian. В этом каталоге можно найти все меню и подменю AfterStep.

Заключительные мысли

Я всегда был поклонником альтернативных рабочих столов. Прошло уже много времени, но я все также использую Enlightenment, Fluxbox или AfterStep. На это у меня есть много причин: эстетика, скорость, надежность, кроме того, я являюсь воспитанником старой школы Linux и приемлю использование чего угодно, но только не Windows. Возможно, кому-то эти оконные менеджеры будут полезны при работе на старых компьютерах, из-за их неприхотливости к системным ресурсам. Дайте им шанс, и они наверняка вам понравятся.