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


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

Применение:

  • можно использовать окружение LXDE, в котором он является оконным менеджером по умолчанию
  • собрать на его основе собственное окружение
  • использовать в каком-либо окружении рабочего стола только как рамку окон

Что он может:

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

Установка

Для установки Openbox выполните в терминале:

sudo apt-get install openbox obconf obmenu

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

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

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

Стандартное приложение контроля автозапуска ведет себя адекватно, но мы рассмотрим ещё один способ для 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 &

Знак & в конце строки означает запуск в фоновом режиме.
Если нужно запустить программу после всех, то используйте sleep 3 && команда

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

На выбор предстает достаточно много панелей, самые известные - 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 добавили такую возможность.

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

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:

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

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

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

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

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

и так далее…

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

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

sudo apt-get install feh

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

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

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

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

Установим мини программу gxmessage, которая позволяет сделать графический интерфейс для Bash скриптов.

sudo apt-get install gxmessage

Создадим в каталоге ~/bin текстовый файл oblogout с таким содержимым:

#!/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)
		dbus-send --system --print-reply  --dest=org.freedesktop.UPower /org/freedesktop/UPower  org.freedesktop.UPower.Hibernate;;
	3)
		dbus-send --system --print-reply  --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager  org.freedesktop.ConsoleKit.Manager.Restart;;
	4)
		dbus-send --system --print-reply  --dest=org.freedesktop.ConsoleKit /org/freedesktop/ConsoleKit/Manager  org.freedesktop.ConsoleKit.Manager.Stop;;
	5)
		openbox --exit;;
esac

В свойствах файла нужно разрешить исполнение.
Теперь можете использовать команду oblogout для завершения работы.
Данную команду можно добавить в меню панели, в меню рабочего стола - obmenu, назначить горячие клавиши.

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 выберите его, нажав в окне этой программы «Установить новую тему…».

Ссылки