Разделы:

Главная

О проекте

Загрузки

Документация:

Linux

BSD

Другие Unix

Программинг

HTML, XML...

Сервера

"Окна Закрой!"

MANы

 


Собираем и настраиваем Fluxbox


Автор: Юрий Миненко, yumi@inbox.ru
Опубликовано: 18.06.2002
Оригинал: http://www.softerra.ru/freeos/18458/


Почему именно Fluxbox? Мне довелось пересмотреть много оконных менеджеров 9wm, XFCE, WindowMaker, iceWM, KDE, Gnome, и.т.д. Одни не устраивали своей совсем простотой, другие монстрообразностью, третьих просто я не устраивал :-)) Fluxbox как-то сразу понравился и оказался достаточно шустрым малым, умеющим работать с приложениями других оконных менеджеров. Этот опус, например, я пишу в Kate редакторе из KDE. Естественно, каждый вправе выбрать для себя то, что именно ему близко.

Итак установка и настройка. Сразу же возникает вопрос откуда и в каком виде брать. Брать вот отсюда , на момент написания этой статьи свежей является версия v0.1.8. Я рекомендую брать в тарболе (tar или tar.bz). В этом случае Вы сможете сконфигурировать и собрать программу так как это необходимо лично Вам. Итак скачиваем файл fluxbox-0.1.8.tar.gz и распаковываем его командой
[yumi@yumi yumi]$ tar zxvf fluxbox-0.1.8.tar.gz
например в своем домашнем каталоге. Получим каталог /fluxbox-0.1.8 Входим в этот каталог и читаем файлы INSTALL и особенно README
[yumi@yumi yumi]$ сd /fluxbox-0.1.8
[yumi@yumi fluxbox-0.1.8]$ cat INSTALL | less
[yumi@yumi fluxbox-0.1.8]$ cat REEADME | less

В этих файлах содержится информация по установке fluxbox. Затем выполняем команду ./configure с необходимыми опциями, например для того, чтобы Вы могли запустить мой любимый Kate нужно дать следующую команду:
[yumi@yumi fluxbox-0.1.8]$ ./configure --enable-kde
После успешной конфигурации можно выполнить команду
[yumi@yumi fluxbox-0.1.8]$ make
которая в конце создаст замечательный бинарничек с именем *fluxbox.

Теперь Вы можете опробовать его под своим пользователем запустив. Если все нормально и Вам программа приглянулась инсталлируем ее для всех пользователей. Для этого необходимы права суперпользователя root. Если Вы знаете пероль root и знаете что делаете, тогда
[yumi@yumi fluxbox-0.1.8]$ su -
Password: _здесь_вводим_пароль_root
[root@yumi root]# cd /home/yumi/fluxbox-0.1.8
[root@yumi fluxbox-0.1.8]# make install

Все! Программой может пользоваться любой пользователь на Вашей машине.

Настройка Fluxbox

Вся настройка сводится к настройке текстовых файлов, находящихся в каталоге /.fluxbox, который образуется при первом запуске в домашнем каталоге пользователя. Делать это можно несколькими способами. Первый с помощью меню, появляющегося при нажатии правой клавиши мыши на рабочем столе, второй – правкой файлов руками в любом текстовом редакторе. Причем эти способы часто необходимы оба ибо с помощью выпадающего меню можно настроить только три пункта этого меню:

  • Workspace List  количество рабочих столов,
  • Styles  стиль рабочих столов,
  • Configuration  указать различные конфигурации, связанные с фокусом окон и.т.п

Я думаю сделать все это не представит для Вас труда, ибо там все достаточно понятно. После того, как Вы сделаете это не забудьте нажать в выпадающем меню пункты: Reconfigure и Restart. Первый перепишет файл /.fluxbox/init  именно этот файл говорит fluxbox о его глобальных настройках и читается при загрузке менеджера первым. Второй пункт необходим для того, чтоб Ваши настройки вступили в силу. Причем, что очень приятно все Ваши запущенные до этого программы останутся в таком же состоянии как и до команды Restart!

А что делать, если хочется иметь в меню свои программы? Все очень просто! Открываем редактором файлик /.fluxbox/menu:
[yumi@yumi yumi]$ mcedit ~/.fluxbox/menu
и разбираемся с синтаксисом файла. Привожу содержимое своего файла menu:

[begin] (Fluxbox 0.1.8)
 [exec] (xterm) {xterm -fg white -bg black -rightbar -fn 9x15 -geometry 100x40}
 [exec] (konsole) {konsole}
[submenu] (Browsers)
 [exec] (netscape) {netscape}
 [exec] (galeon) {galeon}
 [exec] (mozilla) {mozilla}
 [exec] (konqueror) {konqueror}
[end]
[submenu] (Games)
 [exec] (Maelsrom) {Maelstrom}
[end]
[submenu] (Internet)
 [exec] (ICQ) {licq}
 [exec] (Nt) {nt}
 [exec] (IRC) {xchat}
[end]
[submenu] (Editors)
 [exec] (vim) {vim -g}
 [exec] (Kate) {kate}
 [exec] (kword) {kword}
 [exec] (AbiWord) {abiword}
 [exec] (kwrite) {kwrite}
[end]
[submenu] (Graphics)
 [exec] (gimp) {gimp}
 [exec] (xv) {xv}
[end]
[submenu] (Music)
 [exec] (xmms) {xmms}
[end]
[submenu] (Misc)
 [exec] (kcalc) {kcalc}
 [exec] (kpackage) {kpackage}
 [exec] (ddd) {ddd}
 [exec] (tail access_log) {xterm -title access_log -e tail -f /var/log/access_log}
[end]
[submenu] (X utils)
 [exec] (xcalc) {xcalc}
 [exec] (xfontsel) {xfontsel}
 [exec] (xman) {xman}
 [exec] (xload) {xload}
[end]
[workspaces] (Workspace List)
[submenu] (Styles) {Choose a style...}
[stylesdir] (/usr/local/share/fluxbox/styles)
[end]
[config] (Configuration)
[reconfig] (Reconfigure)
[restart] (Restart)
[exec] (Lock) {xlock -mode blank}
[exit] (Exit)
[end]

Как видим, файл начинается с известного всем ключевого слова [begin] в квадратных скобках и строчки (Fluxbox 0.1.8) в круглых скобках. Для дальнейшего понимания необходимо пояснить следующее. В квадратных скобках пишутся ключевые слова, в круглых  названия пункта меню или подменю. Итак, если Вы хотите прямо в меню иметь пункт запускающий X-терминал, то как видно из файла необходимо написать:
[exec] (xterm) {xterm -fg white -bg black -rightbar -fn 9x15 -geometry 100x40}
т.е выполнить комманду xterm c указанными параметрами. Сама комманда и относящиеся к ней параметры указываются в фигурных скобках. Для построения подменю необходимо использовать ключевое слово [submenu], причем заканчивается такая конструкция обязательным словом [end]. Если его пропустить, все последующие пункты меню исчезнут  распространенная ошибка при написании подменю! Между этими ключевыми словами вставляем необходимые пункты подменю, например:

[submenu] (Browsers)
 [exec] (netscape) {netscape}
 [exec] (galeon) {galeon}
 [exec] (mozilla) {mozilla}
 [exec] (konqueror) {konqueror}
[end]

Этим же ключевым словом должен заканчиваться и весь файл.

Может ли fluxbox использовать комбинации клавиш?

Несомненно! Для этого рассмотрим файл /.fluxbox/keys. Как ясно из его названия  файл отвечает за нажатие комбинаций клавиш. В своем первозданном виде файл выглядит следующим образом:
[yumi@yumi yumi]$ cat ~/.fluxbox/keys
Mod1 Tab :NextWindow
Mod1 Shift Tab :PrevWindow
Mod1 F1 :Workspace1
Mod1 F2 :Workspace2
Mod1 F3 :Workspace3
Mod1 F4 :Workspace4
Mod1 F5 :Workspace5
Mod1 F6 :Workspace6
Mod1 F7 :Workspace7
Mod1 F8 :Workspace8
Mod1 F9 :Workspace9
Mod1 F10 :Workspace10
Mod1 F11 :Workspace11
Mod1 F12 :Workspace12

Где, Mod1 = Alt. Итак, как можно видеть, здесь по нажатию, например, комбинации клавишь Alt+F12 вызывается двенадцатый рабочий стол. Если конечно Вы создали с помощью меню Workspase List > New Workspace 12 рабочих столов :-) Понятно, что такого количества рабочих столов не нужно  мне вполне хватает четырех. Поэтому эту комбинацию можно использовать под что-либо более полезное, например так:
Mod1 F12 :ExecCommand xlock -mode blank
Что при этом происходит? Запускается скринсервер и доступ к графической консоли блокируется. Теперь, чтобы вернуться обратно необходимо ввести пароль пользователя, занимающего эту консоль  очень удобно, когда нужно срочно ненадолго отойти. Как показала практика, такое сочетание клавишь для блокирования консоли не совсем удобно, по крайней мере для меня, тогда я написал так:
Mod0 F12 :ExecCommand xlock -mode blank
и теперь блокировка происходит просто по нажатию клавиши F12. Я намеренно не перечисляю все возможные Mod, чтобы дать Вам возможность экспериментировать самим. Приведу лишь возможные комманды для выполнения таким способом:
Minimize
Raise
Lower
Close
Workspace1
Workspace2
Workspace4
Workspace5
Workspace6
Workspace7
Workspace8
Workspace9
Workspace10
Workspace11
Workspace12
NextWorkspace
PrevWorkspace
LeftWorkspace
RightWorkspace
KillWindow
NextWindow
PrevWindow
NextTab
PrevTab
ShadeWindow
MaximizeWindow
StickWindow
ExecCommand
MaximizeVertical
MaximizeHorizontal
NudgeRight
NudgeLeft
NudgeUp
NudgeDown
BigNudgeRight
BigNudgeLeft
BigNudgeUp
BigNudgeDown
HorizontalIncrement
VerticalIncrement
HorizontalDecrement
VerticalDecrement
ToggleDecor

Думаю значение и производимые ими действия понятны без перевода.

Можно ли изменить расположение кнопок Минимизировать, Свернуть, Закрыть, Сделать видимым на всех рабочих столах на открываемых окнах?

Да можно. Для этого служит файл ~/.fluxbox/titlebar Вот его содержимое:
[yumi@yumi yumi]$ cat ~/.fluxbox/titlebar
Right: sticky minimize maximize
Left: close

Как видно их моего файла у меня нестандартное расположение вышеперечисленных кнопок  кнопки sticky и close поменялись местами. Ну мне так удобно :-)).

Теперь поговорим о стилях. В каталоге пользователя Вы не найдете папки /styles Cчитается, что пользователь будет брать стандартный набор стилей где-то из:
[yumi@yumi yumi]$ locate fluxbox
.......
/usr/local/share/fluxbox/styles
.......

Меня это несколько не устроило, поэтому я скопировал эту папку в свой домашний каталог, и взяв за основу стиль Cthulhain изменил в нем шрифты на приемлимые лично для меня. Так же Вы можете создать свои собственные стили, разобравшись с методами и правилами их создания.

Теперь нужно чтоб все изменения вступили в силу. Для этого я открыл файл ~/.fluxbox/init и прописал пути к моим файлам:
[yumi@yumi yumi]$ mcedit ~/.fluxbox/init
session.styleFile: /home/yumi/.fluxbox/styles/Cthulhain
session.keyFile: /home/yumi/.fluxbox/keys
session.titlebarFile: /home/yumi/.fluxbox/titlebar
session.menuFile: /home/yumi/.fluxbox/menu

Далее мне захотелось иметь время и дату в привычном для меня формате и я написал:
session.screen0.strftimeFormat: %I:%M%P %d/%m/%y
Дальше больше, захотелось изменить название рабочих столов в toolbar и я написал:
session.screen0.workspaceNames: one,two,three,four
Надеюсь Вы оценили значение файла init! После записи файла и выполнения комманды Restart из меню я получил то что хотел  настроенный под меня fluxbox. Нужно отметить, что некоторые настройки можно было выполнить из меню toolbar-а, вызываемого все тем же нажатием правой кнопки мыши на самом тулбаре. Но эти эксперименты я оставляю для Вас. Отдельного разговора так же требует оснащение fluxbox дисковым файл менеджером и программой контроля оборудования  gkrellm или любой другой. Сложностей я не вижу, но сейчас не имею времени на подробное описание процесса установки и подключения оных. Скажу лишь одно, для того чтоб gkrellm присутствовал на всех рабочих столах, необходимо грузить его в Slit  специальный рабочий стол. Делается это с помощью опции -w при запуске gkrellm.

Более подробно Вы можете узнать о fluxbox и его настройках на сайтах:
http://fluxbox.sourceforge.net
http://gazette.linux.ru.net/etc/bb-faq.html
и конечно же из несравненного man fluxbox

Успехов и приятной работы.



Вниманию вебмастеров: использование данной статьи возможно только в соответствии
с правилами использования материалов сайта «Софтерра» (http://www.softerra.ru/site/rules/)



Партнёры и спонсоры проекта:

Все материалы сайта распространяются по лицензии GNU/GPL
© ProUNIX 2003-2009, UnixLib 2005-2009, SoftLib 2006-2009.