Узнать о том, что такое Openbox, и о моем отношении к этому оконному менеджеру, можно из статьи Почему я пользуюсь Openbox?. Кроме того, я уже делился своим лучшие приложения для Openbox, который также может вас заинтересовать.
Итак, Openbox установлен. Кроме меню ничего больше нет. Нас это не устраивает. Давайте шаг за шагом проведем настройку Openbox, чтобы получить легковесную, удобную и одновременно мощную среду для повседневной работы.
При подготовке материала статьи я проводил эксперименты под виртуальной машиной VirtualBox с дистрибутивом Archlinux, но выбор не столь принципиален и советы подойдут для любой *nix-совместимой системы.
Сразу замечу, что процесс настройки Openbox достаточно индивидуален, поэтому представленные здесь советы лучше рассматривать как рекомендации, а не в качестве пошагового руководства.
Автологин
Начнем с несколько побочного, но важного (лично для меня) пункта — автоматический вход в систему. Поскольку я работаю за компьютером один, то такой вариант меня вполне устраивает. Но если для вас подобное поведение является нежелательным (с точки зрения безопасности или по каким-то другим причинам), то можете переходить к следующему шагу.
Для автологирования проще всего использовать тот или иной менеджер входа в систему. Например, я использую lxdm. После установки менеджера не забудьте его активировать:
1 |
sudo systemctl enable lxdm.service |
Затем для включения функции автологирования отредактируйте файл конфигурации /etc/lxdm/lxdm.conf. В группе [base] раскомментируйте строку вида autologin=login, где login — логин пользователя, для которого должен выполняться автоматический вход в систему.
Терминал
Linux без терминала — не Linux. В качестве GUI-терминала под Openbox я уже давно использую приложение sakura. Можете тоже попробовать его, но это дело вкуса и привычки — подойдет любой терминал.
Удобнее всего настроить запуск Openbox таким образом, чтобы терминал стартовал автоматически. Первым делом скопируйте конфигурационные файлы Openbox в свой домашний каталог:
1 2 |
mkdir -p ~/.config/openbox/ cp /etc/xdg/openbox/* ~/.config/openbox/ |
Затем откройте конфигурационный файл ~/.config/openbox/autostart и добавьте в конец следующее:
1 2 3 |
APPS='sakura' (for X in $APPS ; do ($X &) ; done) & |
Этот простой скрипт обеспечивает запуск списка (который пока что состоит из одного элемента) приложений.
Далее сделаем так, чтобы sakura появлялась именно там, где нужно. Откройте файл ~/.config/openbox/rc.xml и найдите в нем раздел <applications>. Ближе к концу раздела (и файла) должен располагаться комментарий:
1 2 |
# end of the example --> |
Вставьте сразу после этого комментария следующий фрагмент xml-кода:
1 2 3 4 5 6 |
<application name="sakura" type="normal"> <desktop>1</desktop> <maximized>yes</maximized> <focus>yes</focus> <layer>below</layer> </application> |
В теге <desktop> указано, что терминал должен появляться на первом виртуальном рабочем столе. С помощью <maximized> говорим, что терминал должен быть развернут на весь экран. Тег <focus> переводит фокус ввода на терминал после его запуска. А <layer> закрепляет окно терминала на нижнем Z-уровне так, что все остальные окна будут его перекрывать.
После ребута системы на первом рабочем столе должен появиться терминал.
Завершение работы
С запуском более или менее разобрались, но хотелось бы иметь возможность еще и завершать работу не только командой shutdown через консоль. Для этого можно установить приложение oblogout. После установки настроим комбинацию клавиш для быстрого запуска. В файле ~/.config/openbox/rc.xml найдите раздел <keyboard>. В его конец добавьте следующий фрагмент:
1 2 3 4 5 6 7 8 9 10 |
<keyboard> ... <keybind key="W-h"> <action name="Execute"> <command>oblogout</command> </action> </keybind> </keyboard> |
Затем обновите конфигурацию Openbox. Это можно сделать либо перезагрузив систему, либо с помощью системного меню System => Reconfigure Openbox (чтобы меню появилось, нажмите правой кнопкой мыши на свободном участке рабочего стола; само меню изображено на первом скриншоте в начале этой статьи).
Как можно догадаться из фрагмента xml-кода, который мы добавили, вызвать oblogout теперь можно с помощью комбинации клавиш Win + h:
Обратите внимание, что настроить oblogout вы можете в конфигурационном файле /etc/oblogout.conf. Например, я поменял тему оформления кнопок на foom, изменив параметр:
1 |
buttontheme = foom |
Если понадобится, то можно сократить количество кнопок, поменять их быстрые клавиши и выполняемые команды. Мне кажется, что вполне достаточно оставить cancel, logout, restart и shutdown. Тогда, например, завершение работы компьютера достигается последовательным нажатием Win + h, h, а перезагрузка — Win + h, r.
Панель задач
При желании вы можете настроить для Openbox панель в стиле MacOS X, но от нее больше вреда, чем пользы. Она будет тормозить вашу работу, создавая соблазн лишний раз воспользоваться мышью при запуске приложений.
Для меня хорошо подошла панель задач — tint2. Она легко устанавливается и просто настраивается с помощью вспомогательной утилиты tint2conf. К тому же, имеются предустановленные темы оформления. Я рекомендую взять за основу одну из таких стандартных тем, а затем настроить ее под свои нужды.
Если хотите, то в качестве отправной точки можете взять мою конфигурацию:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
# 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 |
Раскладки клавиатуры
В качестве заключительного штриха для нашей первичной настройки Openbox добавим переключение клавиатурных раскладок. Я использую клавишу CapsLock для переключения с английского на русский и обратно. Чтобы обеспечить такое поведение, создайте файл /etc/X11/xorg.conf.d/20-keyboard-layout.conf:
1 2 3 4 5 6 |
Section "InputClass" Identifier "keyboard-layout" MatchIsKeyboard "on" Option "XkbLayout" "us,ru" Option "XkbOptions" "grp:caps_toggle,grp_led:scroll" EndSection |
Осталось добавить индикатор раскладки в системный трей панели задач. Для этого прекрасно подойдет приложение xxkb. Для его настройки создайте в домашнем каталоге файл ~/.xxkbrc:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
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:
1 2 3 4 5 |
APPS='sakura xxkb tint2' (for X in $APPS ; do ($X &) ; done) & |
Заключение
Конечно, нельзя сказать, что пользоваться Openbox в такой конфигурации удобно. Но самый минимум у нас уже есть: приложения можно запускать из терминала, а вход и выход из системы отработан.
Дальнейшие улучшения проводятся по двум фронтам — юзабилити (в первую очередь быстрые клавиши) и оформление. Оформление в мире Linux второстепенно, поэтому в следующий раз займемся повышением удобства использования Openbox…