Это старая версия документа.


Openbox — минималистичный менеджер окон для X Window System, распространяется по лицензии GPL.

Openbox входит в состав рабочего окружения LXDE, но его можно использовать и отдельно от этого окружения:

  • собрать на его основе собственное окружение
  • использовать в каком-либо окружении рабочего стола только как рамку окон

Что он может:

  • отрисовывать рамку окон с кнопками управления и меню, с текстовым описанием
  • управлять окнами: свернуть, развернуть, закрыть, максимизировать, восстановить прежний размер, перетаскивать окно курсором при нажатой клавише Alt, изменять размер окна потянув за край, переключаться между окнами клавишами Alt tab
  • управлять виртуальными рабочими столами: переключаться между ними, перемещать окна с одного на другой
  • показывать контекстное меню на на рабочем столе
  • запускать программы при входе в сессию openbox, завершать работу программ при выходе из сессии openbox
  • назначать горячие клавиши

Установка

sudo apt-get install openbox obconf obmenu

Формируем собственное окружение на основе openbox

Теперь перелогинимся из текущего окружения в openbox (выйдите из системы к меню ввода пароля и входа, нажмите на кнопку выбора окружения над полем и выберите openbox). Пред нами предстал серый фон и (возможно, если устанавливали) conky. Весь смысл openbox заключается в создании полностью стилизованного под себя окружения. Существует огромное количество допилок для openbox, самые основные будут приведены в этом руководстве.

Добавляем панель

На выбор предстает достаточно много панелей, самые известные - lxpanel, pypanel, fbpanel, adeskbar, tint2, wbar (только панель запуска).
Здесь приведен пример настройки lxpanel. Эта панель используется по умолчанию в lxde, установка:

 sudo apt-get install lxpanel

Запуск:

 lxpanel

Она запустится в стандартной конфигурации. В ней присутствует определённое количество виджетов по умолчанию, есть возможность добавлять gtk апплеты (network-manager у вас будет ярким примером). Настройка осуществляется с помощью файла ~/.config/lxpanel/название_конфига/config/. Так-же возможна через клик правой кнопкой мыши на панели → Настройки панели.

Переключение раскладки клавиатуры

Переключение раскладки клавишами Alt Shift можно включить добавив в актозапуск команду

setxkbmap -layout "us,ru(winkeys)" -model "pc105" -option "grp:alt_shift_toggle,grp_led:scroll" &

Отображение индикатора раскладки в виде флага можно включить установив и записав в автозапуск fbxkb или gxneur.

Есть другой способ - добавить на lxpanel индикатор раскладки, нажать на нем правой клавишей мыши и настроить переключение клавиатуры между разными раскладками. В последней версии lxpanel добавили такую возможность.

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

Стандартное приложение контроля автозапуска ведет себя адекватно, но мы рассмотрим ещё один способ для openbox - скрипт autostart в папке ~/.config/openbox/. По умолчанию он не создается, создайте его сами в любом текстовом редакторе. Он использует обычный bash синтаксис. Пример:

conky &
lxpanel &
feh --bg-scale ~/.img/303215-1280x1024.jpg &
nautilus -n &
setxkbmap -layout "us,ru(winkeys)" -model "pc105" -option "grp:alt_shift_toggle,grp_led:scroll" &
skype --disable-cleanlooks -style GTK &
xscreensaver -nosplash &

Знак '&' в конце строки означает запуск в фоновом режиме.

Мультимедиа клавиши

Ubuntu по умолчанию использует pulseaudio, звук регулировать будем через него. Добавьте строки ниже в ваш ~/.config/openbox/rc.xml. В этом файле хранятся все конфирурации «забинденных» сочетаний клавиш. Для большинства клавиатур подойдёт такой xml-код:

  <keybind key="XF86AudioRaiseVolume">
     <action name="Execute">
       <command>amixer -D pulse set Master 5%+ unmute</command>
     </action>
   </keybind>
   <keybind key="XF86AudioLowerVolume">
     <action name="Execute">
       <command>amixer -D pulse set Master 5%- unmute</command>
     </action>
   </keybind>
   <keybind key="XF86AudioMute">
     <action name="Execute">
       <command>amixer set Master toggle</command>
     </action>
   </keybind>
Изменения в файле rc.xml не вступят в силу, пока не будет перезагружен openbox

Определение названий мультимедиа клавиш

Если X дает отличные от «XF86Audio…» названия вашим мультимедиа клавишам, то для их определения вы можете использовать утилиту xev. Запустите её в терминале, перед вами откроется окошко с квадратиком. Сделайте окно активным (просто поместите его поверх всех остальных), «вытащите» из него курсор и нажмите на любую мультимедиа клавишу. Не нажимая другие клавиши (кроме, конечно, кнопки мыши) и не вводя курсор в окно закройте его. Возьмите текст последнего абзаца, он будет примерно таким:

 KeymapNotify event, serial 46, synthetic NO, window 0x0,
    keys:  79  0   0   0   0   0   0   0   0   0   0   0   0   0   0   4   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

KeyRelease event, serial 46, synthetic NO, window 0x3000001,
    root 0x34f, subw 0x0, time 1620513, (-72,18), root:(352,715),
    state 0x0, keycode 122 (keysym 0x1008ff11, XF86AudioLowerVolume), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

где XF86AudioLowerVolume - искомое название. Проделайте данную операцию со всеми остальными мультимедиа кнопками и проделайте рецепт выше, заменив «XF86Audio…» на ваши названия, в первом случае на «громкость больше», во втором случае на «громкость меньше», а в третьем на «выключить звук».

Верните alt+f2!

Решение аналогичное предыдущему (с мультимедиа клавишами). Выберите любой менеджер запуска приложений, в качестве примера используется gmrun. Установите его:

 sudo apt-get install gmrun

Добавьте следующие строчки в ~/.config/openbox/rc.xml:

  <code><keybind key="A-F2">
    <action name="Execute">
      <command>gmrun</command>
    </action>
  </keybind></code>

Перезапустите openbox.

Если вы используете lxpanel, то gmrun можно заменить на команду lxpanelctl run

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

Вы можете использовать любой, какой вам захочется:

и так далее…

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

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

 sudo apt-get install feh

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

feh --bg-scale путь_до_изображения

Пример добавления в автозапуск см. выше.

Меню выключения

Существует много различных способов добавления данной опции. Самая простая - через obmenu и gxmessage. Gxmessage - маленькая програмка, позволяющая сделать gui для bash скриптов. Obmenu - редактор контекстного меню у openbox (того, которое открывается при нажатии правой кнопкой мыши рабочему столу, если запущен nautilus - убейте этот процесс через killall -9 nautilus). Установим необходимые пакеты:

sudo apt-get install obmenu gxmessage

Сначала надо отредактировать sudoers. Для этого в терминале:

sudo visudo
Любые ошибки на этом этапе могут сделать команду sudo неработоспособной, и восстановиться можно будет только отредактировав этот файл с live cd, он находится в /etc/sudoers.

Добавьте эти строчки в конец файла, заменив shkiper на имя вашего пользователя:

shkiper ALL=NOPASSWD: /sbin/shutdown, /sbin/reboot, /usr/sbin/pm-hibernate

Сохраните файл нажатием ctrl+O и выйдите через ctrl+x.

Если после выхода появляется строка «Что дальше?» немедленно нажмите x и enter. Вы неправильно отредактировали файл, попробуйте ещё раз.

Перезапустите sudo через

 sudo -K

Создайте в домашнем каталоге файл .shutdown с таким содержанием:

#!/bin/bash

gxmessage "Выключить компьютер?" -center -title "Take action" -font "Sans bold 10" -default "Отмена" -buttons "_Отмена":1,"_Гибернация":2,"_Перезагрузка":3,"_Выключение":4,"_Выход из сеанса":5 >/dev/null 

case $? in
	1)
		echo "Exit";;
	2)
		sudo /usr/sbin/pm-hibernate;;
	3)
		sudo /sbin/reboot;;
	4)
		sudo /sbin/shutdown -h now;;
	5)
		openbox --exit;;
esac

Если не пользуетесь гибернацией, то с таким:

#!/bin/bash

gxmessage "Выключить компьютер?" -center -title "Take action" -font "Sans bold 10" -default "Отмена" -buttons "_Отмена":1,"_Перезагрузка":2,"_Выключение":3,"_Выход из сеанса":4 >/dev/null 

case $? in
	1)
		echo "Exit";;
	2)
		sudo /sbin/reboot;;
	3)
		sudo /sbin/shutdown -h now;;
	4)
		openbox --exit;;
esac

Сохраните его. Теперь запустите obmenu.

 obmenu

Раскройте список «Openbox 3» и с помощью кнопки «New item» добавьте пункт, в настройках (внизу окна) укажите: Label - название пункта меню, Action - Execute, Execute - sh /home/имя_пользователя/.shutdown. Нажмите на кнопку «Сохранить» и проверьте появление пункта, нажав правой кнопкой мыши по рабочему столу.

Все остальные способы основаны на добавлении этого/подобных скриптов к панели/ярлыку и т.д. Например, вы можете назначить этот скрипт на горячую клавишу через ~/.config/openbox/rc.xml, см. ниже

Если вы используете менеджер рабочего стола и не пользуетесь контекстным меню openbox, то вы можете установить хоткей на определенное сочетание клавиш и вызов этого скрипта. Например, для ctrl+alt+e добавьте следующие строки в ~/.config/openbox/rc.xml:

 <keybind key="C-A-e">
   <action name="Execute">
     <command>sh /home/имя_пользователя/.shutdown</command>
   </action>
 </keybind>

GTK2+GTK3+Openbox

Это одна из самых сложных тем в настройке openbox. Вам нужно подобрать такую тему openbox, gtk2 и gtk3, чтобы они подходили друг к другу (на ваш вкус). Подбирать их можно на ресурсах gnome-look.org и box-look.org (для gtk и *box соответственно).

На gnome-look.org желательно выбирать только gtk3 тему, т.к. в архиве с ними идут и gtk2 порты.

Итак, вы выбрали темы. Но не спешите радоваться! Во-первых, русские шрифты могут всё испортить. Во-вторых, никто не знает, как она запустится у вас. Лучше сначала посмотреть gtk3 тему (по одной из инструкций ниже), если нормально запустится и понравится - ставить gtk2 из того-же архива и подбирать под все это *box тему.

Установка gtk2 темы

Здесь все просто. Вы можете вручную редактировать файл ~/.gtkrc-2.0. Подробнее о его синтаксисе вам поможет узнать google. Здесь описан простой способ установки gtk2 темы. Устанавливаем пакет gtk-theme-switch:

sudo apt-get install gtk-theme-switch 

Скопируйте из архива папку с названием темы, содержащую в себе «gtk2.0» и, возможно, «index.theme» в ~/.themes (если такой папки нет - создайте). Воспользуйтесь командой в терминале

gtk-theme-switch2

Выберите свежеустановленную тему и нажмите «Apply». Ваши настройки применятся и сгенерируется новый файл ~/.gtkrc-2.0.

Установка gtk3 темы

Воспользуйтесь любой инструкцией из интернета по установке через ubuntu-tweak. Не работает? Распакуйте из скачанного архива содержимое папки «Название_темы/gtk3.0» в ~/.config/gtk-3.0« и запустите какое-либо приложение, использующее gtk3 (например gedit).

Установка openbox темы

Здесь все очень просто: с box-look.org вы скачаете .obt файл - архив с темой. С помощью obconf выберите его, нажав в окне этой программы «Установить новую тему…»

Ссылки