Translation(s): English - Français - Русский

(!) ?Обсуждения


http://openbox.org/oldwiki/images/c/c5/Openbox-72.png

Openbox — это маленький и очень шустрый менеджер окон, который поддерживает множество очень удобных функциональных возможностей. Одна из них - это динамическое меню, при помощи которого пользователь может управлять приложениями как через обычное меню. Меню реализовано при помощи принятия вывода скрипта, который используется в качестве источника для меню. Каждый раз, когда пользователь наводит указатель на подменю динамического меню, то скрипт (источник для меню) запускается и динамически создаёт вкладки подменю. Эта возможность позволяет использовать очень большую гибкость и удобство по сравнению со стандартными статическими меню, которые используются в большинстве других оконных менеджеров. Openbox имеет собственный менеджер сеансов, для автоматического входа легко настраивается с менеджерами входа в систему - GDM или KDM, и может работать в качестве оконного менеджера для окружающей среды рабочего стола GNOME или KDE.


Введение


Для того, чтобы понять, что такое на самом деле Openbox, важно знать различие между менеджером окон (англ. — Window Manager, WM) и окружающей средой рабочего стола (англ. — Desktop Environment, DE).

Менеджер окон (англ. — Window Manager, WM) — это программа, которая рисует на вашем экране "поле" (англ. — box), в котором запущена программа. Менеджер окон управляет работой окна программы, следит за окном программы и реагирует на действия пользователя в окне программы. Менеджер окон решает, какие использовать оформления окон (темы) и позволяет вам перемещать окна, скрывать их, изменять их размеры, минимизировать их и закрывать их. Менеджер окон управляет событиями от нажатий клавиш для совершения необходимого вам действия, в зависимости от того, на какие клавиши вы нажимаете, чтобы сделать то, что вам потребуется (т.н. закрыть окно программы кликом на кнопку мыши, или переключать окна нажатием на клавиши "Alt+Tab").

С другой стороны, окружающая среда рабочего стола (англ. — Desktop Environment, DE) следит за всем рабочим столом. Она предоставляет сразу: панель задач, системный трей, менеджер входа в систему, дополнительные меню, набор значков для рабочего стола и хранители экрана (screensavers). Окружающая среда рабочего стола может включать в себя также файловый менеджер, текстовый редактор, а также некоторые другие вспомогательные программы, в зависимости от решения разработчиков окружающей среды рабочего стола.

Openbox — это менеджер окон (WM), не окружающая среда рабочего стола (DE). Openbox отвечает только за поддержку окон, которые вы открываете на вашем экране - ничего больше. Это означает, что после установки Openbox, у вас не будет обычного лёгкого и простого доступа к меню для настройки — фона рабочего стола (wallpapers), панели задач или системной панели, или большинства тех или иных безделушек. Тем не менее, на самом деле, менеджер окон (в т.ч. Openbox) предоставит вам платформу (framework) для установки на ваш выбор программ, среди которых вы можете установить и те, которые предоставят вам все вышеописанные безделушки, но в подходящих для вас возможностях программы, стиле и интерфейсе.

Openbox может использоваться как один, без окружающей среды рабочего стола (DE), так и в качестве замены менеджера окон в полной окружающей среде рабочего стола (DE). Пример использования Openbox в качестве менеджера окон по-умолчанию в полной окружающей среде рабочего стола вы можете посмотреть, ознакомившись со свободной окружающей средой рабочего стола LXDE. Выбор способа использования Openbox так или иначе только за вами.

Установка


Самый лёгкий и простой способ установки Openbox на системе Debian - использование Advanced Packaging Tool (Aptitude, ?APT):

$ aptitude search openbox

результат - список пакетов для использования Openbox:

openbox          — быстрый, лёгкий и расширяемый оконный менеджер
openbox-dev      — файлы для разработки под оконный менеджер Openbox
openbox-themes   — темы для оконного менеджера Openbox

из под root введите следующую команду для установки пакета с программой Openbox:

# aptitude install openbox

Скорее всего вам пригодятся темы из набора тем для Openbox, установите соответствующий пакет:

# aptitude install openbox-themes

установка на чистую систему


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

# aptitude install openbox openbox-themes gdm gdm-themes obconf obmenu menu

Устанавливаемые пакеты:

Обычно меню рабочего стола, вызываемое кликом правой кнопкой мыши, при установке будет автоматически сгенерировано для вас.

Тем не менее, в случае если ваше меню рабочего стола не было автоматически сгенерировано с DebianMenu, то вам потребуется установить пакет с меню — menu :

# aptitude install menu

Запуск Openbox

из менеджера входа в систему, автоматически

Для захода в Openbox из менеджера входа в систему, иначе говоря, для запуска сессии Openbox из KDM или GDM, просто выберите 'openbox' из сессии или из меню сессий.

Для запуска Openbox из XDM вам потребуется установить файл ".xsession" в ваш домашний каталог и добавить в этот файл строку:

exec openbox-session

Для возможных альтернативных решений - используйте альтернативы Debian (смотрите ?update-alternatives), и установите "x-session-manager" для Openbox.

из командной строки, вручную

Для запуска Openbox из командной строки (через startx), вручную, установите файл .?xinitrc в ваш домашний каталог и добавьте в файл следующую строку:

exec openbox-session

Для возможных альтернативных решений - используйте альтернативы Debian (смотрите ?update-alternatives), и установите "x-session-manager" для Openbox.

Примечание: Вы не должны устанавливать что-то, если Вы используете чистый Openbox. Запускайте только как startx.

Основная настройка


Obconf


?ObConf — это маленькая графическая утилита для настройки свойств и параметров Openbox, применяя на лету каждое изменение настроек Openbox. Это очень полезная утилита, которая вам не раз пригодится при настройке Openbox, желательно её установить, если вы этого ещё не сделали:

# aptitude install obconf

Более подробную информацию об утилите ?ObConf смотрите ?здесь

Фон рабочего стола (Wallpapers)


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

при помощи feh


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

Программа feh устанавливается через Advanced Packaging Tool:

# aptitude install feh

Примечание: обратите внимание на логин пользователя который будет использоваться для работы (запуск, сохранение настроек) с feh.

Теперь выберите изображение для фона рабочего стола и наберите эту команду на терминале:

feh --bg-scale /path/to/your/background/image.jpg

Примечание: feh позволяет задать расположение изображения на фоне рабочего стола. т.н. - растянуть изображение без соотношения сторон по X и Y, растянуть с соотношением сторон относительно меньшей (за пределы рабочего стола) или большей (не используя часть фона рабочего стола) стороны, заполнить копиями изображения фон рабочего стола или выравнять изображение по центру фона рабочего стола. Используйте следующие рекомендации параметров-ключей из man feh(1):

--bg-center file

по центру

--bg-fill file

заполнить

--bg-scale file

растянуть

--bg-seamless file

заполнение без границ

--bg-tile file

плитка

Как только вы выбрали и установили файл с изображением в качестве фона для рабочего стола, feh сразу сохранит полный путь до файла с изображением в файле, который называется ".fehbg" ("~/.fehbg", "/home/ваш_логин/.fehbg"). Это означает, что вы можете восстанавливать изображение на фон рабочего стола при перезагрузке, проверяя файл ".fehbg". Для этого добавьте в файл "autostart.sh", из каталога "/etc/xdg/openbox/", следующее:

# При перезагрузке восстановить изображение на фон рабочего стола
eval `cat $HOME/.fehbg` &

Примечание: Кроме JPEG, feh может также обрабатывать изображения из множества других форматов, включая такие форматы как PNG, TIFF и GIF.

Новый меняющийся фон рабочего стола при каждой перезагрузке

Примечание: обратите внимание на логин пользователя который будет использоваться для работы (запуск, сохранение настроек) с feh.

One neat trick available with feh is a random wallpaper on each boot. Create a directory in your home folder called "wallpapers" and put a few background images into it. Then copy the code below into a file called wallpaper.sh and save it anywhere.

WALLPAPERS="~/wallpapers"
ALIST=( `ls -w1 ~/wallpapers` )
RANGE=${#ALIST[@]}
let "number = $RANDOM"
let LASTNUM="`cat $WALLPAPERS/.last` + $number"
let "number = $LASTNUM % $RANGE"
echo $number > $WALLPAPERS/.last

feh --bg-scale $WALLPAPERS/${ALIST[$number]}

Затем сделайте скрипт исполняемым.

chmod +x wallpaper.sh

Now add that program to the autostart.sh file, like this.

#Random wallpaper
./wallpaper.sh

When you log in, the script should be executed, and feh should pick a new wallpaper.

альтернативы feh

feh - не единственная программа, которая умеет отрисовывать изображение на фоне рабочего стола. Список альтернативных программ для feh:

Название

Описание

imagemagick

image manipulation programs

nitrogen

wallpaper browser and changing utility for X

xloadimage

xsetbg(1) or xloadimage -onroot -quiet

hsetroot

xsetbg

Дополнительно, некоторые файловые менеджеры способны управлять фоном рабочего стола, например:

Название

Описание

ROX-Filer

image manipulation programs

PCManFM

Nautilus (без ввода параметра-ключа "--no-desktop" при запуске)

Заставки на рабочий стол (Screensavers)

Если создаётся рабочий стол Openbox с уже установленным Gnome, то, скорее всего, уже будет установлен пакет gnome-screensaver. В случае установки Openbox на чистую систему, можно установить пакет xscreensaver, более настраиваемый и включающий в себя более широкое разнообразие заставок на рабочий стол (screensavers).

Если Gnome или KDE в системе не установлены, то для установки xscreensaver введите:

# mkdir /usr/share/backgrounds
# aptitude install xscreensaver xscreensaver-gl

Первая команда создаёт каталог по-умолчанию, который будет искать xscreensaver при запуске. Если каталог "/usr/shar/backgrounds" отсутствует, то вы получите строку с сообщением об ошибке при первой настройке.

Вторая команда установит xscreensaver и дополнительные файлы для него.

Для автоматической загрузки демона xscreensaver добавьте эту команду в файл автозапуска Openbox - "autostart.sh", который находится в каталоге "/etc/xdg/openbox/":

xscreensaver -no-splash &

Панель настроек xscreensaver доступна при запуске "xscreensaver-demo" из меню Openbox или из окна терминала.

Значки рабочего стола


iDesk


Вы можете добавить настраиваемые, кликабельные иконки для вашего рабочего стола, используя iDesk (домашняя страница iDesk):

# aptitude install idesk

Набор значков вы можете поискать в репозиториях или скачать со сторонних, специализированных сайтов, таких как Gnome-Look.org и им подобных.

Rox-Filer


Rox-filer - это менеджер файлов, также дополнительно он может управлять значками рабочего стола и фоном рабочего стола. Установка Rox-filer:

# aptitude install rox-filer

Настройки производятся из меню программы Rox-filer.

PCManFM


Дополнения к WM Openbox

панель


Существует довольно много панелей, которые вы можете использовать для размещения панели задач и pager'а. Наиболее распространенные:

Название

Описание

LXPanel

fbpanel

tint2

gnome-panel

?PerlPanel

fspanel

bbpager

tint2


tint2 — это простая, удобная и лёгкая панель задач (taskbar), включающая в себя панель (panel) и трей (tray). Панель задач tint2 изначально предназначалась для openbox3, но также всегда без проблем используется и в других оконных менеджерах (WM). Отличительная черта tint2 - чистота интерфейса и интуитивный внешний вид. tint2 основывается на коде TTM (Text Tag Maker), используя файлы текстовых форматов с теговой разметкой. Основная цель tint2 заключается в сохранении чистого и ненавязчивого внешнего вида при достаточно малом размере кода программы, и в соблюдении спецификаций Freedesktop.

aptitude install tint2

Лёгкая и простая панель задач с простым конфигурационным файлом - ничего лишнего. После установки вы сразу можете запустить её командой tint2. Панель загрузится со стандартными настройками, и для неискушенного пользователя будет вполне красива и удобна. При первом запуске tint2 создаёт конфигурационный файл в

/home/ваш_логин/.config/tint2/tint2rc

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

tint2 может показывать отдельно запущенные приложения на разных рабочих столах ("taskbar_mode = multi_desktop" в файл настроек). Приложения на разные рабочие столы раскидывает оконный менеджер (WM) (где всё ограничено возможностями WM и вашей фантазией).

Вы можете указать другой конфигурационный файл при помощи единственного параметра-ключа -c :

tint2 -c ~/tint2-conf2 &
tint2 -c ~/tint2-config &

Примечание: у панели tint2 нет кнопки с вызовом системного меню (того, что в Openbox'е вызывается правым кликом мышки). Строка из файла настроек

wm_menu = boolean (0 or 1) : Allow tint2 to forward mouse event to your Window Manager.

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

Для автозапуска в OpenBox, добавьте "tint2 &" в файл автозагрузки OpenBox — /home/ваш_логин/.config/openbox/autostart.sh

Для получения дополнительной информации обращайтесь в IRC — #tint2 на irc.freenode.net, или на официальный сайт tint2 — http://code.google.com/p/tint2/wiki/Welcome

LXPanel


Сделайте свой выбор и добавьте в ваш стартовый файл:

# panel
(sleep 2 && fbpanel) &

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

диалог запуска программ


Если вы хотите иметь диалог запуска программ, который появляется по нажатию Alt+F2, как в Gnome или KDE, вы можете использовать "gmrun":

# apt-get install gmrun

Добавьте следующую запись в секцию <keyboard> в ~/.config/openbox/rc.xml

<keybind key="A-F2"> <action name="execute"><execute>gmrun</execute></action> </keybind>

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


Существует очень много возможностей, но лучшие легковесные файловые менеджеры - это ROX и Thunar. PCMan File Manager (pcmanfm) тоже выглядит обещающе. Для еще большей легковесности, используйте Gentoo или emelFM, оба используют хорошо знакомую по Midnight Commander двухпанельную раскладку (оба нуждаются в gtk 1.2.x).

Темы для Openbox


Если вы работаете в чистой системе Openbox, то оформление интерфейса программ с графической оболочкой (работающих в GUI) может показаться очень некрасивым.

Openbox-темы


Темы оформления можно устанавливать двумя способами:

Файл темы оформления Openbox имеет расширение "*.obt", в утилите ?ObConf устанавливается нажатием на кнопку Install и выбором темы.

Если файл темы это простой архив, то файл темы оформления для Openbox распаковывается в домашний каталог "~/.themes/" ("/home/ваш_логин/.themes/"). Затем, тема оформления выбирается в утилите ?ObConf из списка тем или правкой файла настроек — "~/.config/openbox/openbox-rc.xml"; в случае использования LXDE — файл расположен здесь "~/.config/openbox/lxde-rc.xml".

Темы оформления для Openbox можно скачать на сторонних специализированных сайтах, например, box-look.org и deviantart.com. Актуальную информацию и подробную спецификацию тем оформления Openbox можно просмотреть здесь.

GTK-темы


Для более привлекательного и красивого интерфейса рекомендуется использовать GTK-темы. Установка пакетов gtk-theme-switch и gtk2-engines, для "GTK+" и "GTK+ 2.x" соотвественно:

# aptitude install gtk-theme-switch gtk2-engines

Меню настроек GTK-тем вызывается из контекстного меню Openbox (меню вызывается кликом правой кнопкой мыши на рабочем столе) или командой из терминала. Для изменения темы GTK2 - запустите в терминале команду "switch2". Запустите в терминале команду "switch", чтобы изменить тему GTK1.

Примечание: Различные темы оформления GTK используют различные движки. Поэтому, в случае установки темы при отсутствии движка, на котором она создавалась, обычно загрузятся только цвета из этой темы. Перед установкой темы оформления узнавайте тщательнее о требованиях темы к движку. Пакет gtk2-engines содержит набор ТОЛЬКО _стандартных_ движков для тем оформлений, и установив пакет gtk2-engines, вы получите ТОЛЬКО _стандартные_ движки. Множество тем оформлений используют нестандартные движки, которые не включены в пакет стандартных движков gtk2-engines. Поиском по репозиторию проверьте наличие движка, исходя из требований для необходимой темы.

Вы можете также попробовать установить пакет gnome-settings-daemon от Gnome, который будет управлять некоторыми настройками:

# aptitude install gnome-settings-daemon

Если вы предпочитаете XFCE, попробуйте установить пакет xfce-mcs-manager :

# aptitude install xfce-mcs-manager

Примечание: Обе этих программы позволяют добавить меню в Openbox и запуск из терминала.

Темы GTK/иконок

Изменение иконок немного сложнее, вам действительно следует это делать, только если вы используете nautilus в качестве файлового менеджера.

Скачайте какие-нибудь иконки, распакуйте их в /usr/share/icons/ или ~/.icons.

Добавьте это в ~/.gtkrc-2.0:

gtk-icon-theme-name = "[name-of-icon-theme]"

Примечание: название темы иконок - это имя директории в /usr/share/icons/, так что если директория называется debian-icons, вам следует написать debian-icons в качестве [name-of-icon-theme].

Шрифты в GTK-ориентированных приложениях


Если вы хотите изменить тип и размер шрифтов, добавьте в файл "~/.gtkrc.mine" ("/home/ваш_логин/.gtkrc.mine") следующее:

style "user-font"
{
font_name = "[font-name] [size]"
}
widget_class "*" style "user-font"
gtk-font-name = "[font-name] [size]"

где "[font-name] [size]" - это название шрифта и его размер, т.н., "?DejaVu Sans 10". Вам придётся заполнить оба поля из-за обратной совместимости.

Темы для курсора мыши


Чтобы изменить тему курсора мыши, скачайте тему и положите в каталог "/usr/share/icons/" или "~/.icons/" ("/home/ваш_логин/.icons/").

Добавьте в файл ~/.Xdefaults (/home/ваш_логин/.Xdefaults") следующее:

Xcursor*theme:   [название-темы-курсора-мыши]

Сочетания клавиш


значения клавиш по-умолчанию


сочетание клавиш

событие

Alt-F4

Закрыть активное окно

Alt-Space

Показать меню для активного окна

Alt-Tab

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

Alt-Shift-Tab

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

Control-Alt-Tab

Переключение между панелью и окнами рабочего стола

Windows-D

Скрыть все окна и показать рабочий стол

Windows-E

Run the Konqueror file manager (This is an example of how to run a program with a key binding)

Alt-Escape

Lower the active window behind other windows, and activate the last window that was in use

Windows-F1

Go to the first desktop instantly

Windows-F2

Go to the second desktop instantly

Windows-F3

Go to the third desktop instantly

Windows-F4

Go to the fourth desktop instantly

Control-Alt-Left

Open the desktop switching dialog, to go to the desktop to the left of the current one

Control-Alt-Right

Open the desktop switching dialog, to go to the desktop to the right of the current one

Control-Alt-Up

Open the desktop switching dialog, to go to the desktop above the current one (This will only be useful if you use a pager to set up a desktop layout with multiple rows)

Control-Alt-Down

Open the desktop switching dialog, to go to the desktop below the current one (This will only be useful if you use a pager to set up a desktop layout with multiple rows)

Shift-Alt-Left

Open the desktop switching dialog, to go to the desktop to the left of the current one, and bring the active window with you

Shift-Alt-Right

Open the desktop switching dialog, to go to the desktop to the right of the current one, and bring the active window with you

Shift-Alt-Up

Open the desktop switching dialog, to go to the desktop above the current one, and bring the active window with you (This will only be useful if you use a pager to set up a desktop layout with multiple rows)

Shift-Alt-Down

Open the desktop switching dialog, to go to the desktop below the current one, and bring the active window with you (This will only be useful if you use a pager to set up a desktop layout with multiple rows)

Alt-Left mouse button

Move a window

Alt-Right mouse button

Resize a window. The window is resized towards the edge that the mouse is nearest to. So use Alt-Right mouse button in the top right corner of a window to resize that corner.

Alt-Scroll wheel

Change desktops forward and backward

назначение вызовов событий на клавиши


Назначение событий на клавиши настраивается в файле настроек openbox — "~/.config/openbox/openbox-rc.xml" ("/home/ваш_логин/.config/openbox/openbox-rc.xml"), который представляет собой простой XML-файл.

Поведение мыши


Автозагрузка программ при запуске Openbox


Openbox (v3.4 и старше) поддерживает автозагрузку программ при запуске. За автозагрузку в Openbox отвечает команда "openbox-session".

Существует два способа использовать автозагрузку программ в Openbox:

Note: If you made your own custom log in options for older Openbox versions, you can delete them to reduce confusion when you are logging in. Openbox installs its own now.

Для добавления программы в автозагрузку, добавьте программу в файл "~/.config/openbox/autostart.sh". Полное руководство по автозагрузке в Openbox и множество примеров смотрите здесь.

Использование OpenBox в качестве WM для других DE


для GNOME


  1. Установите GNOME.
  2. Если вы используете GDM, выберите пункт загрузки "GNOME/Openbox".
  3. Если вы используете startx, запишите в файл ~/.xinitrc: exec openbox-gnome-session

для KDE


  1. Установите KDE.
  2. Если вы используете KDM, выберите пункт загрузки "KDE/Openbox".
  3. Если вы используете startx, запишите в файл ~/.xinitrc: exec openbox-kde-session

Настройки для отдельных приложений


Openbox имеет настройки для отдельных приложений с версии openbox 3.3. Эти настройки могут быть установлены в файле ~/.config/openbox/rc.xml, там нужно создать новый XML элемент внутри <openbox_config> с названием <applications>, который будет содержать настройки. Внутри <applications> вам понадобится элемент <application name="">, который будет определять приложение, на которое будут влиять настройки. Способы определения приложения: по названию (name), классу (class) или роли (role), например:

<application class="Firefox-bin">

Класс и имя можно определить, запустив:

xprop | grep WM_CLASS

Когда вы кликните на приложение, которое хотите сконфигурировать, xprop вернет что-то вроде:

WM_CLASS(STRING) = "Gecko", "Thunderbird-bin"

Первое значение - то, которое вы поместите в name="", второе - в class="". Вы можете использовать и одно. но я предпочитаю, чтобы настройки не смешивались. После этого вы можете установить настройки, которые хотите. Доступны:

Пример конфига, показывающий как запустить firefox с позицией в 30 пикселей сверху и с максимизацией по горизонтали:

<applications>
  <application class="Firefox-bin">
    <position>
      <x>center</x>
      <y>30</y>
    </position>
    <maximized>Horizontal</maximized>
  </application>
</applications>

Ссылки