Содержание
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>
Определение названий мультимедиа клавиш
Если 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.
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, назначить горячие клавиши.
#!/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
GTK2+GTK3+Openbox
Это одна из самых сложных тем в настройке Openbox. Вам нужно подобрать такую тему Openbox, GTK2 и GTK3, чтобы они подходили друг к другу (на ваш вкус). Подбирать их можно на ресурсах GNOME-look.org и Box-look.org (для GTK и *box соответственно).
Итак, вы выбрали темы. Но не спешите радоваться! Во-первых, русские шрифты могут всё испортить. Во-вторых, никто не знает, как она запустится у вас. Лучше сначала посмотреть 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 выберите его, нажав в окне этой программы «Установить новую тему…».
Ссылки
Форум ubuntu.ru :
Документация:
Оформление Openbox: