GrabDuck

Оконный менеджер Openbox | Русскоязычная документация по Ubuntu

:

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

Применение:

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

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

Что он может:

  • отрисовывать рамку окон с кнопками управления и меню, с текстовым описанием

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

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

  • показывать контекстное меню на рабочем столе

  • запускать программы при входе в сессию openbox, завершать работу программ при выходе из сессии openbox

  • назначать горячие клавиши

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

sudo apt-get install openbox obconf obmenu

Теперь перелогинимся из текущего окружения в 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…» на ваши названия, в первом случае на «громкость больше», во втором случае на «громкость меньше», а в третьем на «выключить звук».

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

В новых версиях Ubuntu, начиная, как минимум с 16.04, приведенный выше скрипт, работать не будет, так как он требует изменения команд для dbus. Пример скрипта для Ubuntu 16.04 приведен ниже. Вместо gxmessage он использует zenity. Но это не мешает при желании переписать его для gxmessage.

#!/bin/bash
RETURN_CODE=`zenity --window-icon="укажите тут полный путь к иконке, которую желаете видеть в заголовке окна" \
		--list --radiolist \
		--title="Выключение компьютера" \
		--text="Выберите предпочитаемое действие:" \
		--column="Выбор" --column="Действие" \
		TRUE "Выключение компьютера" FALSE "Перезагрузка" FALSE "Ждущий режим" FALSE "Спящий режим"`
if [ "$RETURN_CODE" = "Выключение компьютера" ]; then
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.PowerOff" boolean:true
fi
if [ "$RETURN_CODE" = "Перезагрузка" ]; then
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.Reboot" boolean:true
fi
if [ "$RETURN_CODE" = "Ждущий режим" ]; then
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.Suspend" boolean:true
fi
if [ "$RETURN_CODE" = "Спящий режим" ]; then
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.Hibernate" boolean:true
fi

Это одна из самых сложных тем в настройке Openbox. Вам нужно подобрать такую тему Openbox, GTK2 и GTK3, чтобы они подходили друг к другу (на ваш вкус). Подбирать их можно на ресурсах GNOME-look.org и Box-look.org (для GTK и *box соответственно).

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

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

Здесь все просто. Вы можете вручную редактировать файл ~/.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.

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

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

Форум ubuntu.ru :

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

Оформление Openbox: