Настройка Openbox: Первые шаги
Узнать о том, что такое Openbox, и о моем отношении к этому оконному менеджеру, можно из статьи Почему я пользуюсь Openbox?. Кроме того, я уже делился своим ТОП 15 приложений для Openbox, который также может вас заинтересовать.
Итак, Openbox установлен. И вот что мы имеем изначально:
Кроме меню ничего больше нет. Нас это не устраивает. Давайте шаг за шагом проведем настройку Openbox, чтобы получить легковесную, удобную и одновременно мощную среду для повседневной работы.
При подготовке материала статьи я проводил эксперименты под виртуальной машиной VirtualBox с дистрибутивом Archlinux, но выбор не столь принципиален и советы подойдут для любой *nix-совместимой системы.
Сразу замечу, что процесс настройки Openbox достаточно индивидуален, поэтому представленные здесь советы лучше рассматривать как рекомендации, а не в качестве пошагового руководства.
Шаг 1. Автологин
Начнем с несколько побочного, но важного (лично для меня) пункта — автоматический вход в систему. Поскольку я работаю за компьютером один, то такой вариант меня вполне устраивает. Но если для вас подобное поведение является нежелательным (с точки зрения безопасности или по каким-то другим причинам), то можете переходить к следующему шагу.
Для автологирования проще всего использовать тот или иной менеджер входа в систему. Например, я использую lxdm . После установки менеджера не забудьте его активировать:
sudo systemctl enable lxdm.service
Затем для включения функции автологирования отредактируйте файл конфигурации /etc/lxdm/lxdm.conf . В группе [base] раскомментируйте строку вида autologin=login , где login — логин пользователя, для которого должен выполняться автоматический вход в систему.
Шаг 2. Терминал
Linux без терминала — не Linux. В качестве GUI-терминала под Openbox я уже давно использую приложение sakura . Можете тоже попробовать его, но это дело вкуса и привычки — подойдет любой терминал.
Удобнее всего настроить запуск Openbox таким образом, чтобы терминал стартовал автоматически. Первым делом скопируйте конфигурационные файлы Openbox в свой домашний каталог:
mkdir -p ~/.config/openbox/ cp /etc/xdg/openbox/* ~/.config/openbox/
Затем откройте конфигурационный файл ~/.config/openbox/autostart и добавьте в конец следующее:
APPS='sakura' (for X in $APPS ; do ($X &) ; done) &
Этот простой скрипт обеспечивает запуск списка (который пока что состоит из одного элемента) приложений.
Далее сделаем так, чтобы sakura появлялась именно там, где нужно. Откройте файл ~/.config/openbox/rc.xml и найдите в нем раздел . Ближе к концу раздела (и файла) должен располагаться комментарий:
Вставьте сразу после этого комментария следующий фрагмент xml-кода:
В теге указано, что терминал должен появляться на первом виртуальном рабочем столе. С помощью говорим, что терминал должен быть развернут на весь экран. Тег переводит фокус ввода на терминал после его запуска. А закрепляет окно терминала на нижнем Z -уровне так, что все остальные окна будут его перекрывать.
После ребута системы на первом рабочем столе должен появиться терминал:
Шаг 3. Завершение работы
С запуском более или менее разобрались, но хотелось бы иметь возможность еще и завершать работу не только командой shutdown через консоль. Для этого можно установить приложение oblogout . После установки настроим комбинацию клавиш для быстрого запуска. В файле ~/.config/openbox/rc.xml найдите раздел . В его конец добавьте следующий фрагмент:
Затем обновите конфигурацию Openbox. Это можно сделать либо перезагрузив систему, либо с помощью системного меню System => Reconfigure Openbox (чтобы меню появилось, нажмите правой кнопкой мыши на свободном участке рабочего стола; само меню изображено на первом скриншоте в начале этой статьи).
Как можно догадаться из фрагмента xml-кода, который мы добавили, вызвать oblogout теперь можно с помощью комбинации клавиш Win + h :
Обратите внимание, что настроить oblogout вы можете в конфигурационном файле /etc/oblogout.conf . Например, я поменял тему оформления кнопок на foom , изменив параметр:
Если понадобится, то можно сократить количество кнопок, поменять их быстрые клавиши и выполняемые команды. Мне кажется, что вполне достаточно оставить cancel , logout , restart и shutdown . Тогда, например, завершение работы компьютера достигается последовательным нажатием Win + h, h , а перезагрузка — Win + h, r .
Шаг 4. Панель задач
При желании вы можете настроить для Openbox панель в стиле MacOS X, но от нее больше вреда, чем пользы. Она будет тормозить вашу работу, создавая соблазн лишний раз воспользоваться мышью при запуске приложений.
Для меня хорошо подошла панель задач — tint2 . Она легко устанавливается и просто настраивается с помощью вспомогательной утилиты tint2conf . К тому же, имеются предустановленные темы оформления. Я рекомендую взять за основу одну из таких стандартных тем, а затем настроить ее под свои нужды.
Если хотите, то в качестве отправной точки можете взять мою конфигурацию:
# Tint2 config file # Generated by tintwizard (http://code.google.com/p/tintwizard/) # For information on manually configuring tint2 see http://code.google.com/p/tint2/wiki/Configure # Background definitions # ID 1 rounded = 0 border_width = 1 background_color = #000000 100 border_color = #464646 100 # ID 2 rounded = 0 border_width = 1 background_color = #000000 100 border_color = #333333 100 # ID 3 rounded = 0 border_width = 0 background_color = #46567C 100 border_color = #FFFFFF 0 # ID 4 rounded = 0 border_width = 1 background_color = #1F1F1F 100 border_color = #484848 100 # ID 5 rounded = 0 border_width = 0 background_color = #4B4B4B 100 border_color = #FFFFFF 20 # Panel panel_monitor = all panel_position = top center horizontal panel_size = 100% 35 panel_margin = 0 0 panel_padding = 0 0 0 panel_dock = 0 wm_menu = 0 panel_layer = top panel_background_id = 0 # Panel Autohide autohide = 0 autohide_show_timeout = 0.3 autohide_hide_timeout = 2 autohide_height = 2 strut_policy = follow_size # Taskbar taskbar_mode = multi_desktop taskbar_padding = 0 0 2 taskbar_background_id = 1 taskbar_active_background_id = 4 # Tasks urgent_nb_of_blink = 8 task_icon = 1 task_text = 1 task_centered = 0 task_maximum_size = 140 35 task_padding = 0 1 task_background_id = 2 task_active_background_id = 3 task_urgent_background_id = 3 task_iconified_background_id = 5 # Task Icons task_icon_asb = 70 0 0 task_active_icon_asb = 100 0 0 task_urgent_icon_asb = 100 0 0 task_iconified_icon_asb = 70 0 0 # Fonts task_font = Droid Sans Bold 9 task_font_color = #FFFFFF 60 task_active_font_color = #FFFFFF 80 task_urgent_font_color = #FFFFFF 80 task_iconified_font_color = #CCC1C1 100 font_shadow = 0 # System Tray systray = 1 systray_padding = 1 1 2 systray_sort = ascending systray_background_id = 1 systray_icon_size = 20 systray_icon_asb = 70 0 0 # Tooltips tooltip = 0 tooltip_padding = 2 2 tooltip_show_timeout = 0.7 tooltip_hide_timeout = 0.3 tooltip_background_id = 1 tooltip_font = sans 10 tooltip_font_color = #000000 80 # Mouse mouse_middle = none mouse_right = close mouse_scroll_up = toggle mouse_scroll_down = iconify # Battery battery = 0 battery_low_status = 10 battery_low_cmd = notify-send "battery low" battery_hide = 98 bat1_font = sans 8 bat2_font = sans 6 battery_font_color = #FFFFFF 60 battery_padding = 1 0 battery_background_id = 0 # End of config
На скриншоте ниже приводится одна из стандартных конфигураций:
Шаг 5. Раскладки клавиатуры
В качестве заключительного штриха для нашей первичной настройки Openbox добавим переключение клавиатурных раскладок. Я использую клавишу CapsLock для переключения с английского на русский и обратно. Чтобы обеспечить такое поведение, создайте файл /etc/X11/xorg.conf.d/20-keyboard-layout.conf :
Section "InputClass" Identifier "keyboard-layout" MatchIsKeyboard "on" Option "XkbLayout" "us,ru" Option "XkbOptions" "grp:caps_toggle,grp_led:scroll" EndSection
Осталось добавить индикатор раскладки в системный трей панели задач. Для этого прекрасно подойдет приложение xxkb . Для его настройки создайте в домашнем каталоге файл ~/.xxkbrc :
XXkb.mainwindow.type: tray XXkb.group.base: 1 XXkb.group.alt: 2 XXkb.mainwindow.enable: yes XXkb.mainwindow.appicon: yes XXkb.mainwindow.geometry: 16x16+0+0 XXkb.button.enable: no XXkb.app_list.wm_class_name.start_alt: Pidgin XXkb.controls.add_when_start: yes XXkb.controls.add_when_create: yes XXkb.controls.add_when_change: yes XXkb.controls.focusout: no XXkb.mainwindow.label.background: black XXkb.mainwindow.label.foreground: white XXkb.mainwindow.label.font: -misc-*-r-*-14-* XXkb.mainwindow.label.text.1: En XXkb.mainwindow.label.text.2: Ru XXkb.mainwindow.label.enable: yes
А также не забудьте расширить содержимое файла ~/.config/openbox/autostart , чтобы запуск xxkb происходил автоматически при старте Openbox:
APPS='sakura xxkb tint2' (for X in $APPS ; do ($X &) ; done) &
Заключение
Конечно, нельзя сказать, что пользоваться Openbox в такой конфигурации удобно. Но самый минимум у нас уже есть: приложения можно запускать из терминала, а вход и выход из системы отработан.
Дальнейшие улучшения проводятся по двум фронтам — юзабилити (в первую очередь быстрые клавиши) и оформление. Оформление в мире Linux второстепенно, поэтому в следующий раз займемся повышением удобства использования…