Проработав с Window Maker две недели (см. статью ?Оконных дел мастер?, МК ?32(203)), я, как и обещал, приступил к иследованию других оконных менеджеров, благо под Linux их предостаточно. Перепробовав некоторые из них, решил остановиться на fluxbox'e. Причины понятны: в нем реализована полная поддержка приложений KDE и Gnome, немаловажна также и легковесность дистрибутива, простая установка и настройка, наконец, неплохая функциональность при малых размерах.
Давайте по порядку. Домашняя страница дистрибутива - http://fluxbox.sourceforge.net. Берем оттуда дистрибутив (лучше всего в исходниках, fluxbox-0.1.9.tar.gz, 430 Кб) и заодно утилиту fluxconf; на сайте доступны также различные темы для оформления рабочего стола. Распаковываем дистрибутив (я для этого использую меню mc, навожу на необходимый файл, F2, потом x). Заходим в образовавшийся каталог и читаем readme и install. Для проверки доступных опций конфигурирования набираем в командной строке ./configure --help. Так как нужна поддержка и KDE, и Gnome, задаем в командной строке:
После окончания процесса вводим:
а затем
Все, пользуйтесь на здоровье. После запуска, который, надо отметить, происходит быстро, мы наблюдаем пустой экран с панелью внизу, на которой размещены часы и переключатель рабочих мест (Рис. 1). Больно уж напоминает blackbox, заметите вы. Это недалеко от истины - за основу fluxbox'a взят код из этого менеджера, поэтому многое из того, что будет сказано далее, касается и его. Удобно, что все запущенные приложения показываются на панели задач, и сколько бы их ни было, они удобно отыскиваются. Щелчок правой кнопкой на панели вызывает появление меню ее настройки - в нем можно настроить поведение панели, ее расположение на рабочем столе, или отредактировать название рабочего стола. Меню можно закрыть, щелкнув правой кнопкой мыши по заголовку. Щелчок средней кнопкой по рабочему столу вызывает меню, в котором можно перейти на другой рабочий стол, создать его (числом до 12) или удалить. По правой кнопке вызывается контекстное меню, из которого можно запустить программы, в пункте же FB-Setting можно выбрать стиль оформления и поведения окон. Запустить приложения в fluxbox можно двумя способами: из окна эмулятора терминала и из вышеописанного контекстного меню. Все настройки в данном оконном менеджере сводятся к функциям редактирования конфигурационных файлов. Чтобы выяснить, где они находятся, запускаем утилиту find /usr /etc /home -name '*fluxbox' и находим их в usr/local/share/fluxbox и $HOME/.fluxbox. Судя по расположению, в первом находятся общесистемные файлы настроек, а во втором - личные. Так как последние имеют преимущество, к тому же в общие файлы лезть надо в последнюю очередь, будем разбираться с домашними. Данный каталог образуется только после первого запуска fluxbox'a. Поначалу здесь находятся три файла. Первый называется init - как явствует из названия, содержит общие, глобальные для системы параметры; некоторые из них можно отредактировать с помощью контекстного меню или воспользоваться утилитой fluxconf (Рис. 2), которая будет доступна после установки соответствующего пакета, но впрочем, никто не возбраняет это проделать путем ручного редактирования самого файла. Все доступные опции приведены в man fluxbox, но на некоторых я все же остановлюсь.
session.screen0.strftimeFormat: %k: %M %p - формат вывода времени на панели; если хотите добавить дату, месяц и год, добавьте %d/%m/%y.
session.titlebar.left: Stick; session.titlebar.right: Minimimize Maximize Close - обе функции указывают место расположения кнопок закрытия, минимизации и разворачивания окна, а также место ?кнопки пришпиливания?.
session.styleFile: - указывает файл, в котором описан текущий стиль оформления окон; советую для уд обства перенести в домашний каталог папку styles из /usr/local/share/fluxbox и здесь прописать путь к нужному файлу. Следующий файл настроек называется keys, в нем задаются горячие клавиши. Формат записи такой: Mod1 Tab :NextWindow. Расшифровывается это так - при одновременном нажатии клавиш Alt+Tab будет осуществлен переход к следующему приложению. Mod0 означает ?никакая клавиша?, т.е. Mod0 F12: ExecCommand xmms по нажатию клавиши F12 запустит плейер xmms. Действий, которые можно задать клавишам, много, все они описаны в соответствующем man'e. Смысла их перечислять я не вижу, большинство понятны и так, а если нет, то запустите и сами все увидите. Экспериментируйте!
У нас остался еще один файл - menu. С его помощью настраивается контекстное меню fluxbox'a. Это можно проделать двумя способами: либо с помощью утилиты fluxmenu (Рис. 3), либо, как это заведено в нормальном Linux?е, ручками. Признаюсь, мне второй способ нравится больше. Формат файла прост до безобразия:
Тем самым создается новый подраздел меню Package, а в нем пункт, который запускает программу для работы с пакетами gnorpm. Просто? Так как последний менеджер, с которым я работал, был WindowMaker, я просто не смог удержаться и добавил следующие строки в файл menu:
При нажатии на этот самый пункт спокойно загрузился WM. Так что из под fluxbox'a можно без проблем перейти на другой менеджер. При задании клавиш помните, что некоторые комбинации могут быть затребованы различными программами.
С самого начала меня интересовали две проблемы. Первая - как сделать, чтобы программа автоматически загружалась при старте. Вторая - почему при установке темы рабочего стола на нем не изменяется рисунок обоев. Проведя эксперименты с различными конфигурационными файлами, я выяснил, что запустить оттуда программу при старте невозможно; пользоваться же общесистемными я считаю плохим тоном. Надо сказать, программ, которые необходимо запускать при загрузке fluxbox'a, набралось предостаточно. Это и переключатель раскладки из KDE -kxkb, который, по моему мнению, справляется со своими обязаностями на все сто, программа индикатор-переключатель текущей раскладки xxkb (мой выбор!) и какая-нибудь консоль. К тому же, fluxbox не сохраняет состояние, приобретенное перед окончанием работы. Для того чтобы не запускать все это по отдельности, а также для удобства, я создал файл примерно с таким содержанием:
Kill'ы в начале необходимы для того, чтобы многозадачность не вышла вам боком, иначе количество этих программ будет возрастать по мере перезагрузок менеджера. Итак, файл сохранен под именем startfluxbox в каталоге, где интерпретатор разыскивает программы (запустите echo $PATH для информации). Затем я привязал запуск файла к горячей клавише (Mod0 F11: ExecCommand startfluxbox), надеясь найти более приемлемый (автоматизированный) вариант. Нашелся! Но сначала о второй проблеме. Единственное место, откуда может браться информация для установки рисунка обоев, - это файлы в каталоге styles, о котором говорилось выше. Открыв один из файлов, я обнаружил следующие строки:
Какой отсюда следует сделать вывод? В менеджере нет своей команды для установления обоев, поэтому для его установки запускается внешняя программа, которая загружает необходимый файл, содержащий рисунок. Все это хорошо, но есть два нюанса. От файла к файлу указываются разные каталоги, содержащие необходимый для установки фона файл. Хорошо бы как-то это все упорядочить. Для этого нужно создать каталог ~/.fluxbox/backgrounds, все нужные файлы поместить туда и исправить в них путь. Второй момент: довольно неплохая программа xv, с помощью которой можно просматривать и редактировать файлы изображений, захватывать изображение экрана, уже, наверное, с год мне не попадалась в стандартной поставке какого-нибудь дистрибутива. А так на вопрос о том, какая еще программа может установить фон, в моей оперативной памяти (той, что в башке, а не в компьютере :-)) не нашлось ответа, я поступил просто - набрал: apropos backgrounds. Из довольно обширного списка (backgrounds относится к процессам, исполняющимся в фоне) мне приглянулась программа wmsetbg, с помощью которой устанавливается фон в WindowMaker'e. Далее все просто: дописал строку
в созданый ранее скрипт startfluxbox, а в конце нужного файла из папки styles прописал строку для запуска этого скрипта: rootCommand: startfluxbox. Можно воспользоваться следующим скриптом, чтобы занести эту строку сразу во все файлы каталога, содержащего описание стилей, чтобы при смене стиля скрипт все равно запускался:
Теперь необходимые программы запускаются при старте автоматически, а для изменения фона не нужно лазить по каталогам - для этого достаточно прописать путь к нужному файлу и перезапустить fluxbox.
Так как fluxbox, как уже говорилось, ведет родословную от не менее извесного менеджера blackbox'a, то различные утилитки (а также различные стили оформления) для последнего, которые можно взять с сайта http://blackboxwm.sourceforge.net, названия которых традиционно начинаются на bb, здесь работают. Для их запуска добавьте в созданый ранее файл название необходимой программы с флагом -w - он нужен для того, чтобы при запуске нескольких программ они не лезли друг на друга, а пристыковывались один к одному (dockable) (Рис. 4). Затем с помощью контекстного меню укажите место расположения на рабочем столе.
В целом fluxbox показался мне резвым малым. Программа gtop показала, что он занимает всего 1.8 Мб оперативной памяти - немного, особенно если учитывать его возможности. Стоит также заметить, что за неделю работы сбоев не было; приложения, основаные на разных библиотеках, т. е. от Gnome и KDE, вели себя стабильно, загружались и работали без проблем. Немного потрудившись, реально получить в свое удовольствие легкую, удобную систему, в которой можно с комфортом проводить время за компьютером. Во всяком случае, стоит попробовать установить fluxbox хоть бы ради эксперимента. Если сравнивать его с blackbox'ом, ближайшим родствеником, последний чуть полегче, занимает память приблизительно 1.7 Мб, но настройка нашей софтины, по-моему, более прозрачна. Дистрибутив, что особенно приятно, не производит впечатления ?запущенного? - пока я здесь, сидя за компьютером, набираю статью, в Интернете, возможно, уже вышел следующий релиз менеджера.
Что можно сказать в заключение? Linux всегда славился возможностью выбора - всегда можно подобрать чего-нибудь подходящее настроению, желанию, опыту и мощности компьютера. В Windows, пару раз сменив тему, я, честно говоря, заскучал; немного скуку развеивали последующие версии ОС, но системные требования быстро ставили на место. А здесь я работаю в одном из последних релизов дистрибутива на компьютере трехлетней давности - и не чувствую никакого неудобства. Успехов и вам, дорогие читатели!