Fluxbox

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Fluxbox and the translation is 99% complete.

Fluxbox — стекирующий оконный менеджер с открытым исходным кодом для X11, который был форкнут от Blackbox. Данное руководство описывает инструкции, необходимые для установки оконного менеджера Fluxbox для X11.

Введение

Для тех кто не знаком с концепцией графических окружений Linux, оконные менеджеры (WM) — это приложения которые запускаются графическим сервером X11 для управления другими графическими приложениями. WM контролирует следующее: где расположено каждое окно, его размеры и на каком рабочем столе оно находится. Это может быть сделано автоматически через набор пользовательских правил или же вручную с помощью мыши или же горячих клавиш на клавиатуре.

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

Fluxbox также может быть использован как стандартный WM для GNOME или KDE. Например, некоторые люди находят, что Metacity, оконный менеджер окружения GNOME, недостаточно гибок для их нужд, однако Fluxbox не имеет всех встроенных приложений и интеграций, которыми они хотят пользоваться. Поэтому они устанавливают Fluxbox в качестве стандартного оконного менеджера GNOME. Заметим, что при наборе Fluxbox+GNOME могут происходить некоторые эксцессы в связи с перекрыванием возможностей.

Fluxbox также может быть расширен сторонними программами. Данную методику применяют в ситуациях ограниченности "железных" ресурсов или же по желанию пользователя.

Эта статья нацелена на новичков в Fluxbox, любопытных людей, а также просто для тех, кто хочет получить опыт в Gentoo/Fluxbox. Статья также показывает, как добиться (при желании) большего функционала при использовании сторонних программ, которые хорошо работают в Fluxbox.

Установка

Сначала, убедитесь в работоспособности установленного X окружения, как показано в статье по конфигурации X-сервера.

USE-флаги

USE flags for x11-wm/fluxbox X11 window manager featuring tabs and an iconbar

bidi Enable bidirectional language support
imlib Add support for imlib, an image loading and rendering library
nls Add Native Language Support (using gettext - GNU locale utilities)
slit Enables the Fluxbox slit (or dock)
systray Enables the system tray in the Fluxbox toolbar
test Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
toolbar Enables the Fluxbox toolbar
truetype Add support for FreeType and/or FreeType2 fonts
vim-syntax Pulls in related vim syntax scripts
xinerama Add support for querying multi-monitor screen geometry through the Xinerama API

Перед установкой Fluxbox давайте разберёмся в некоторых доступных USE-флагах (описанных ранее).

Также есть флаг vim-syntax, который облегчит настройку позже. Этот флаг установит fluxbox-syntax — специальную цветовую схему Fluxbox для текстового редактора vim. Это сделает тексты настроек более читаемыми. Это крошечное дополнение для vim крайне рекомендуется для дальнейшей настройки Fluxbox.

Есть три флага кастомизации функционала Fluxbox: slit, systray и toolbar. Благодаря этим флагам пользователи, которым не нужен slit или toolbar, могут скомпилировать Fluxbox без них. Это полезно, если необходимо запустить максимально облегчённое окружение или если планируются использоваться другие приложения предоставляющие данный функционал.

Установите необходимые USE-флаги в файле /etc/portage/package.use. Например, следующая команда настроит Fluxbox для использования truetype и vim-syntax:

root #echo "x11-wm/fluxbox truetype vim-syntax" >> /etc/portage/package.use

Установка

Чтобы воспользоваться Fluxbox необходимо установить его:

root #emerge --ask x11-wm/fluxbox

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

Конфигурация

Подготовка X11

Fluxbox — просто программа, запускающаяся на X11. По желанию можно запустить X11, выполнив startx и потом в xterm набрать fluxbox. Однако это как минимум скучно делать при каждом запуске. Если вы желаете запускать X11 вручную, то можно добавить Fluxbox в автозагрузку X11, выполнив следующую команду от обычного пользователя.

user $echo "exec startfluxbox" > ~/.xinitrc

Данный метод не подходит для большинства пользователей. Вы может быть не хотите каждый раз вводить startx при загрузки системы для запуска X11. Также это небезопасно. Например, система заблокировалась с помощью xlock, однако X11 запущены были из консоли. Тогда тот, кто имеет физический доступ к системе, может переключиться в консоль, убить X11 и использовать любой аккаунт, который на данный момент вошел в систему. Единственный вариант предотвратить это, запускать X11 в фоне или в screen, отсоединять сессию screen, и только потом выполнять выход из системы. Что весьма утомительно и совсем не нужно этого делать. При использовании графических менеджеров входа такой проблемы не возникает. Тем не менее, графические менеджеры входа требуют запуска X11 от root, что может быть плохо. На момент написания статьи нет ни одного эксплоита, который известен автору статьи, но если кто-то знаком с таким, то не используйте X11 вообще, либо используйте вышеописанный метод с screen. Также обратите внимание, что это не проблема Fluxbox; это проблема с самим X11.

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

root #emerge --ask x11-misc/slim
root #rc-update add display-manager default
Важно
Устанавите slim и добавьте display-manager в сценарий загрузки, и никак иначе. Изменения здесь могут привести к ошибкам и крахам системы. Также надо изменить конфигурационный файл следующим образом:
ФАЙЛ /etc/conf.d/display-managerНастройка SLiM в качестве менеджера входа
DISPLAYMANAGER="slim"

Блокировка экрана

Когда работаешь с WM, необходимо иметь утилиту блокировки X для предотвращения неавторизированного доступа к системе. Для этого рекомендуется использовать vlock или x11-misc/xlockmore. Она также рекомендуется для включения автоматической блокировки, когда система простаивает. Пакет x11-misc/xautolock может быть использован для выполнения команды xlock после определенного перерыва. Вы скорее всего захотите выставить своё фоновое изображение на рабочий стол. Установленный x11-terms/eterm даёт вам эту возможность. Также он предоставляет вам неплохой (с точки зрения автора статьи) терминал eterm. Для выставления фона можно использовать другую утилиту - media-gfx/feh. Она более легковесная нежели eterm, однако не предоставляет терминал, и функционал feh более скромный.

root #emerge --ask x11-misc/xlockmore x11-misc/xautolock x11-terms/eterm media-gfx/feh

Для включения автоблокировки в файл ~/.fluxbox/startup перед строкой exec fluxbox добавьте следующее:

ФАЙЛ ~/.fluxbox/startup
xautolock -time 15 -locker "xlock -mode blank" -secure &

Темы и оформление

Эта секция может быть пропущена из соображений минимализма, однако почему бы не разрешить пользователю изменить внешний вид Fluxbox темами, заточеными под Fluxbox, изображениями Gentoo для любой WM и темами в любом *box окружении:

root #emerge --ask x11-themes/commonbox-styles x11-themes/commonbox-styles-extra x11-themes/fluxbox-styles-fluxmod x11-themes/gentoo-artwork

Первый запуск Fluxbox

Теперь Fluxbox готов для первого запуска. Он автоматически создаст директорию ~/.fluxbox/ в каждом домашнем каталоге пользователей, где будет хранить настройки и некоторые стандартные значения.

user $startx

Если SLIM или любой другой менеджер входа установлен, запустите от рута данную команду, чтобы убедиться в работоспособности:

root #/etc/init.d/display-manager start

Выберите Fluxbox в качестве сессии и войдите обычным пользователем.

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

Горячие клавиши в Fluxbox

По умолчанию в Fluxbox очень мало горячих клавиш. Есть наборы для переключения окон, рабочих столов и не более. Перед изменением этого набора вам стоит знать следующее: В файле Fluxbox комбинаций очень странные наименования. Mod1 - Alt, Mod4 - Super (клавиша Windows). Ctrl и Shift - Ctrl и Shift. Однако обычно лучше создавать комбинации, основываясь на клавишах Mod1 или Mod4, так как другие программы X11 могут использовать Ctrl и Shift для своих комбинаций горячих клавиш.

Все сочетания клавиш независимы друг от друга, так что можете их менять по собственному усмотрению. В этой статье используются (по мнению автора) наиболее популярные программы, так что не просто меняйте названия программы, если у вас другие предпочтения. Для большей информации читайте man-страницу Fluxbox: (man fluxbox).

Можно также изменить горячие клавиши fluxbox. Для этого в текстовом редакторе (не от рута/суперпользователя) откройте файл ~/.fluxbox/keys и начинайте правки на ваш вкус.

ФАЙЛ ~/.fluxbox/keysИзменение горячих клавиш
# Блокировка экрана:
Mod4 l   :ExecCommand xlock

# Открытие приложений горячими клавишами
Mod1 f   :ExecCommand firefox
Mod1 t   :ExecCommand thunderbird
Mod1 o   :ExecCommand oowriter
Mod1 v   :ExecCommand gvim

# У Fluxbox нет регулировки громкости; сделаем хак, чтобы было
# (подразумевается что используется alsa; удачи с oss :P )
Mod1 e   :ExecCommand Eterm -name alsa -e alsamixer

# Запускает fbrun, который в свою очередь запускает другие
# программы:
Mod1 r   :ExecCommand fbrun

# Управление программами
Mod1 4   :Close
Mod1 m   :Minimize
  
# Если используется aterm (emerge x11-terms/aterm), Следующая команда открывает приятный
# прозрачный aterm без рамок, подогнанный под 1024x768
# разрешение, Оставляя комнату свободной для conky. 
Mod1 a   :ExecCommand aterm -name aterm -sl 3000 -tr +sb -sr -sk -bg black -fg \
white -fade 90 -bl -tn xterm -fn \
-misc-fixed-medium-r-normal-*-*-120-*-*-c-*-iso8859-15 -g 116x57
  
# То же самое только с рутовым терминалом.
# рутовый пароль должен быть известен для этого:
Mod1 s   :ExecCommand aterm -name aterm -sl 3000 -tr +sb -sr -sk -bg black -fg \
white -fade 90 -bl -tn xterm -fn \
-misc-fixed-medium-r-normal-*-*-120-*-*-c-*-iso8859-15 -g 116x57 -e su -
  
# Создание скриншота по нажатию на print кнопки; нужно установить media-gfx/imagemagick
None 107 :Exec tm=$(date +%F,%T) && import -window root /tmp/screenshot$tm.png \
&& display /tmp/screenshot$tm.png
Mod1 107 :Exec tm=$(date +%F,%T) && import -frame -window $(xprop _NET_ACTIVE_WINDOW \
-root | awk '{print $5}') /tmp/screenshot$tm.png && display /tmp/screenshot$tm.png
Control 107 :Exec import png:- | display png:-

Системный мониторинг

Часто приходит желание установить графический системный мониторинг. Gkrellm (app-admin/gkrellm) — наиболее часто используемый монитор, однако для сохранения духа минимализма Fluxbox простой монитор будет использован. И это будут conky. Если пожелаете, можете установить любой другой монитор на ваш выбор; На Wiki достаточно инструкций для них.

root #emerge --ask app-admin/conky

Конфигурационный файл conky по умолчанию слабоват, однако дополнительная информация может быль найдена в man страничке или в статье руководства по Conky.

Иконки

Fluxbox по умолчанию не поставляется с утилитой отрисовки иконок на рабочем столе. Всё здесь завязано на использовании горячих клавиш или же меню, вызываемого правым нажатием мыши. iDesk - программа, которая может выполнять функцию отрисовки. Оно рассчитано на пользователей минималистичных оконных менеджеров, таких как fluxbox, чтобы отрисовывать иконки на главном окне и даже поддерживать обалденные эффекты, такие как прозрачность! Не смотря на название, iDesk никак не связан с Apple или Mac. Установка iDesk крайне проста:

root #emerge --ask x11-misc/idesk

После установки iDesk его необходимо настроить для отображения иконок. Файл настройки может быть найден как ~/.ideskrc. Это достаточно длительный процесс, и он может быть не полностью раскрытым в этой статье. Следующие источники могут быть полезны для настройки iDesk: man idesk, Пользовательское руководство iDesk и форум Gentoo.

Графический файловый менеджер

Важно взять на заметку, что Gentoo не нужен файловый менеджер. Вполне возможно, и в самом деле просто (по скромному мнению автора), осуществлять файловые манипуляции из командной строки. Тем не менее, не все согласны...

Многих новичков в Gentoo/Fluxbox отпугивает отсутствие графического файлового менеджера, как, например, nautilus в GNOME. Сам Fluxbox не содержит такой программы, но, как всегда, получить такую просто. Существует богатый выбор, но эта статья представляет три:

  1. Файловый менеджер Gentoo для минималистов, которые предпочитают текст.
  2. rox для тех, кто любит текст и графический интерфейс.
  3. thunar для тех, кто любит файловые менеджеры с полностью графическим интерфейсом.

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

Файловый менеджер Gentoo

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

root #emerge --ask app-misc/gentoo
Заметка
Файловый менеджер Gentoo — это отдельный проект от Gentoo Linux. Для большей информации, см. Gentoo Name and Logo Usage Guidelines.

Файловый менеджер Gentoo стремится быть полностью настраиваемым через графический интерфейс, так что не стесняйтесь персонализировать.

Rox Filer

Rox Filer — файловый менеджер, который использует как иконки, так и текст и очень сильно похож на старый проводник из Windows

root #emerge --ask app-misc/rox-filer

Rox работает как "традиционный" файловый менеджер, так что его интерфейс должен быть интуитивным. Если нет, всегда есть страницы с руководствами для детальной информации.

Файловый менеджер thunar

Thunar — легковесный, быстрый файловый менеджер, как и Rox, работает как «традиционный». Он включает иконки и текст, прост в использовании. Хотя Thunar разработан для Xfce, он приятно дополнит систему на базе Fluxbox.

root #emerge --ask xfce-base/thunar

Утилиты просмотра изображений

Многие оконные менеджеры содержат утилиты для просмотра изображений в директории. Эти утилиты невелики и легковесны, и не позволяют редактировать (для этого предполагаются инструменты вроде gimp). Это необходимо при использовании командной строки, gentoo, или rox. Несмотря на то, что в thunar есть предпросмотр, наличие отдельного легковесного просмотрщика является хорошей идеей.

root #emerge --ask media-gfx/gqview

gqview может быть запущен в любой директории и просматривать там изображения всех поддерживаемых форматов.

Настройка темы, фона и сценариев автозапуска

Fluxbox имеет целый ряд тем, доступных через контекстное меню. Откройте Fluxbox menuSystem Styles. Эти темы обычно устанавливают свои собственные фоновые изображения, или монотонный цвет, или различного типа градиент. Большинство пользователей предпочтет установить свой собственный фон, но фон не сохраняется несмотря на выбранную тему. Чтобы сделать это, другой файл Fluxbox должен быть изменен, тот, который регулирует поведение Fluxbox при запуске. Снова запустите текстовый редактор, на это раз указав ему на ~/.fluxbox/startup.

Если этот файл существует, убедитесь в том, что он пустой. Добавьте следующую строку в только что созданный файл, удаляя по мере необходимости, и подставляя значения для CAPS:

ФАЙЛ ~/.fluxbox/startupРедактирование стартовых скриптов Fluxbox
# Gentoo's Fluxbox startup script
  
# Программы, которым нужно быть запущенными постоянно, в противоположность единожды выполняемым программам,
# это подразумевает указание "&" (амперсанд) в конце команды.
  
# Fluxbox splash-screen
#fbsetbg -C /usr/share/fluxbox/splash.jpg
  
# Установка фонового изображения. Для этого программа должна быть настроена
# (рекомендуется x11-terms/eterm)
#fbsetbg -f PATH_TO_IMAGE
  
# Пользовательские шрифты
#xset +fp PATH_TO_FONT_DIRECTORY
  
# Запуск программы для отображения иконок
#idesk &
  
# Это ДОЛЖНА быть последняя команда!
exec /usr/bin/fluxbox -log ~/.fluxbox/log

Включение привилегированных операций через polkit

Fluxbox может передавать информацию системным сервисам ядра через D-Bus, чтобы разрешить привилегированные операции, такие как выключение системы. polkit (в прошлом policykit) может использоваться для управления авторизацией для таких операций.

Для использования polkit необходим агент. Существует несколько агентов polkit, и если вы используете профиль desktop, то один из них уже установлен. Соответствующие файлы для автозагрузки агентов расположены в /etc/xdg/autostart, но fluxbox их не использует. Чтобы он начал их использовал, добавьте следующее в файл startup:

ФАЙЛ ~/.fluxbox/startupЗапуск агента аутентификации polkit во время загрузки
/usr/libexec/polkit-gnome-authentication-agent-1 &

Создание меню

Автор использует текстовый редактор для создания меню. Если это вам показалось интересным и умиляющим, то пропустите эту секцию и переходите сразу к Fluxbox.

Возможно редактировать ~/.fluxbox/menu вручную после использования автоматического генератора (см. следующий раздел) для добавления или удаления неиспользуемых пунктов. Учтите, когда что-то удаляется из этого меню, оно не удаляет пакет из системы; только стирается ссылка из пользовательского файла. Программа все еще может быть запущена из командной строки или альтернативными методами (горячие клавиши, и т. д.).

Если установлен Fluxbox, значит программа fluxbox-generate_menu должна так же быть установлена. Эта программа может быть использована для генерации меню. Запустите ее со следующими опциями из под вашего пользователя:

user $fluxbox-generate_menu -is -ds

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

Это также может быть выполнено из меню Fluxbox. Как правило пункт Regen Menu в Fluxbox повторно запускает этот скрипт, ищет новые приложения, установленные с момента его последнего запуска.

Заметка
Возможно использовать этот метод для авто-генерации меню и сохранять некоторый контроль над ним. Создание и изменение файла ~/.fluxbox/usermenu вручную (см. следующий раздел для синтаксиса) дает пользователю свое меню, которое не сотрется при следующем запуске скрипта.

Редактирование меню вручную

Меню Fluxbox - текстовый файл, имеющий простой синтаксис, который описан в этой секции. Обычно описание меню расположено в файле ~/.fluxbox/menu

Пункты меню для исполняемых приложений определены через элемент [exec]. Группы меню могут быть определены через [begin] (корневое меню), или между [submenu] и соответствующей строкой [end] (подменю). Например:

ФАЙЛ ~/.fluxbox/menuОпределение новой записи в меню
# Пользовательское меню fluxbox
[begin] (Fluxbox)
  (...)
  [exec] (XTerm White on Black) {xterm -ls -fg white -bg black}
  (...)
  [submenu] (More terminals)
    [exec] (Aterm default) {aterm}
    [exec] (Rxvt default) {rxvt}
  [end]
  (...)
[end]

Определение корневого меню начинается с тэга [begin] и заканчивается соответствующим тэгом [end]. Все команды меню (здесь называемые тэгами) заключены в квадратные скобки, имена меню заключены между круглыми скобками и командами в скобках. В этом файле разрешены комментарии для строк, начинающихся с #.

В показанном выше примере, первая строка [exec] определяет новую запись, названную "XTerm White on Black", которая исполняет xterm -ls -fg white -bg black как будто из командной строки. Следующим идет подменю, которое определено через тэг [submenu], и затем идет раздел, названный "More terminals", с еще двумя [exec] командами. Любое определение подменю должно иметь соответствующий тэг [end].

Могут быть использованы другие команды для меню. Для более подробной информации прочитайте официальную документацию

Выбор стандартных приложений

Смотрите Default applications.

Использование

Resize a window by left clicking the tiny window-corner re-sizing tools and drag them around, or hold down the Mod1 key and right click somewhere near a border, then drag the mouse.

Обобщение

Поздравляем! Fluxbox установлен, настроен и готов к работе. Если появились некоторые вопросы или дополнительные идеи, то не стесняйтесь отредактировать эту страницу, добавить предложение в соответствующую страницу обсуждения, и/или уведомить о багах на Bugzilla

Внешние ресурсы


This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Jonathan Smith, Alin Dobre, Joshua Saddler, lack
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.