IT Notes

Почему я пользуюсь Openbox?

Введение

В качестве основной операционной системы для своего домашнего компьютера я уже 7 лет использую Linux. Я успел перепробовать с десяток различных дистрибутивов, включая OpenSuse, Ubuntu, Mandriva, Debian, Slackware и другие. Одно время даже экспериментировал с FreeBSD. Но для себя я сделал вывод, что самым важным в операционной системе для меня является оперативное обновление репозиториев с пакетами программного обеспечения и "простота" использования. Слово простота взято в кавычки не просто так. В Linux под простотой принято понимать не то, что для каждого действия найдется графическая утилита с кучей кнопок, а то, что это действие можно сделать напрямую с помощью соответствующих конфигурационных файлов. И если знать в каком файле и что надо поменять, то результата можно достичь во много раз быстрее. Однако стоит признать, что иногда и GUI бывает полезным, иначе можно было вообще не выбираться из консоли. Например, интернет-браузеры, работающие в текстовом режиме, вполне пригодны для использования, но я все равно выбираю Chromium по многим вполне очевидным причинам.

В поисках идеального дистрибутива

Первое время я не стал особо заморачиваться по поводу выбора дистрибутива и остановился на достаточно простом и удобном Ubuntu. Меня в нем устраивало и обилие программных пакетов в официальных репозиториях, и скорость их обновления, и то, что все работало "само" из коробки. Да и среда рабочего стола Gnome, которая применялась в Ubuntu на то время, меня вполне устраивала. В отличие от того же KDE (который мне сразу не понравился) она не столь перегружена и очень хорошо работает даже на не самых производительных системах. Потом в Ubuntu перешли на Unity в качестве окружения по умолчанию. По началу я не придал этому особого значения, но вскоре стало очевидно, что Ubuntu еще дальше приблизился к Windows по своей идеологии. Однако нельзя сказать, что это плохо. Для многих пользователей, которые только хотят попробовать Linux, но боятся, что это сложная система и они в ней не разберутся после Windows, это вполне приемлемый выход для плавного погружения в новую ОС.

И вот я решил, что пора попробовать что-то новое. Конечно, можно было взять за основу все тот же Ubuntu и начать допиливать его под себя. Но мне эта идея не понравилась и я решил перейти на дистрибутив, который был создан специально для этого. Идеальным выбором оказался Archlinux. После установки базовой системы вы получаете лишь ядро и минимум консольных утилит, необходимых для дальнейшей настройки. Даже сам установщик на то время был консольной утилитой, а сейчас (на момент написания статьи) пропал и он. Конечно, по началу это несколько усложняет работу. Все равно что перейти с автоматической коробки передач на ручную. Если недостаточно опыта, то вы будете периодически "глохнуть", уходя в прекрасно написанную официальную документацию, которой ОЧЕНЬ много. Но это того стоит. Только так можно получить полный контроль над системой, установив каждое приложение вручную и настроив его для работы "под себя", как надо именно вам.

Подбор графической оболочки

Следующим шагом стал подбор графической оболочки. Сначала я решил, что какой-нибудь стандартной среды рабочего стола будет вполне достаточно. Кроме наиболее популярных Gnome и KDE, я попробовал LXDE и XFCE. В целом XFCE мне показался довольно удобным вариантом и какое-то время я с ним посидел. Но хватило меня не больше, чем на неделю. Я понял, что все это не то, поэтому начал присматриваться к различным оконным менеджерам. В отличие от сред рабочего стола, оконные менеджеры не включают в себя никаких дополнительных пакетов. Они лишь управляют отображением и расположением окон других приложений. Все дополнительные панели, меню и прочее нужно устанавливать отдельно. То есть после запуска чистого не настроенного оконного менеджера вы получаете либо совсем пустой экран, либо пустой экран с какой-нибудь простенькой панелью по умолчанию.

Существует три основных типа оконных менеджеров:

  1. Стековые. Можно сказать, что это классический вариант. Он принят, если уж не во всех, то в большинстве сред рабочего стола Linux, а также используется в Windows и OS X;
  2. Фреймовые. Компонуют окна на экране по определенным схемам в виде плиток. Таким образом, экран как бы делится на прямоугольные области, которые можно масштабировать и перемещать. Основным преимуществом является то, что на одном экране можно запустить сразу несколько приложений одновременно, которые автоматически расположатся таким образом, что не будут перекрывать друг друга;
  3. Динамические. Совмещаются преимущества стековых и фреймовых оконных менеджеров. Поддерживают оба режима работы и позволяют переключаться между ними.

Я попробовал по одному оконному менеджеру каждого типа. Из стековых я выбрал Openbox, из фреймовых - howm, а из динамических - awesome. Возможно, кто-то не согласится, но мне концепция фреймов абсолютно не понравилась. Намного удобнее, когда каждое окно отображается крупно и на весь экран. У меня на столе стоит два больших 27-дюймовых монитора, но все равно после запуска 3-4 приложений окна начинают казаться слишком мелкими и с ними становится неудобно работать. Поэтому можно сказать, что фреймовые менеджеры мои ожидания не оправдали. Awesome показался мне более интересным, но и им я пользовался не так долго. Все потому, что я не использовал его фреймовые варианты компоновки, а они составляют 50% его возможностей. В результате я понял, что все это не для меня и занялся серьезной настройкой Openbox.

Настройка Openbox

Первый запуск свежеустановленного Openbox не внушает оптимизма. Это просто серый экран. Больше ничего. Единственное, что вы можете сделать, это вызвать меню, щелкнув в любом месте экрана правой кнопкой мыши. Конечно, пользоваться Openbox'ом можно даже так, но для этого нужно быть знатным мазохистом. Поэтому сразу покажу то, к чему я пришел за несколько лет использования Openbox на своем домашнем компьютере:

my_openbox_desktop

Как я уже говорил, у меня к компьютеру подключено два экрана, поэтому скриншот получился такой широкий. Рекомендую открыть его в отдельной вкладке и посмотреть увеличенную версию.

Tint2

Первой необходимостью для меня стало добавление панели, в которой я бы мог видеть те приложения. которые запущены в данный момент. Здесь идеально подошел tint2. Он довольно гибко настраивается и обладает всеми необходимыми возможностями. Он совмещает в себе и панель задач, и системный трей. При желании в нем можно отображать часы, индикатор батареи, регулятор громкости и еще много чего. Но мне эти возможности показались достаточно бесполезными, поскольку, как и в Windows, ими не особо удобно пользоваться из-за мелких размеров. Посмотреть на то, как выглядит панель tint2, вы можете на моем скриншоте. Там она расположена сверху.

Conky

Чтобы отображать на экране полезную системную информацию, я установил conky. Это довольно мощная программа для создания различных панелей. В ней вы можете рисовать на экране вообще все, что угодно. Я же не стал особо углубляться в настройки и просто вывел в нижней части экрана сведения о нагрузке на процессор, использовании оперативной памяти, доступном месте на жестких дисках, текущий уровень громкости, аптайм системы, уведомления о непрочитанных сообщениях на электронной почте, часы и индикатор сетевой активности.

Нижняя панель видна постоянно и отображает только самые важные параметры, к которым я бы хотел иметь быстрый доступ. Но еще иногда полезно проверить вывод dmesg, посмотреть состояние процессов с наибольшей активностью и запланировать что-то с помощью календаря. Все это отображается у меня на правом мониторе в голубых рамках. Я выбрал для этой цели именно правый, а не левый монитор, поскольку левый у меня является основным и большинство приложений я запускаю именно на нем.

Вы можете расположить панели conky там, где пожелаете, и вывести на них все, что угодно. Поэтому советую обратить внимание на эту утилиту.

Быстрые клавиши

Конечно, приложения в Openbox можно запускать с помощью меню, которое появляется по щелчку правой кнопки мыши на не занятом другими приложениями участке экрана. Но это ужасно медленно, особенно если учитывать, что у меня очень часто вся рабочая поверхность обоих экранов скрыта приложениями, с которыми я уже работаю. Но решение есть и для этого даже не нужно устанавливать дополнительных программ. Все уже есть в самом Openbox.

Файл конфигурации Openbox позволяет настраивать не только внешний вид окон, но и задавать комбинации клавиш. Кстати, по поводу внешнего вида. Очень удобной возможностью является отключение декораций окон. В результате они будут отображаться без всего лишнего. Конечно, управлять ими мышкой становится практически невозможно, но мы же хотим для этого использовать комбинации клавиш. Зато появляется больше свободного места для приложений. Например, на скриншоте видно, что на левом мониторе у меня запущен терминал Sakura. А поскольку нет ничего лишнего, то он занимает всю поверхность экрана.

Но вернемся к быстрым клавишам. Я настроил Openbox таким образом, что практически каждая клавиша на клавиатуре, нажатая вместе с Win или Ctrl+Alt, образует некое сочетание для действия с окнами или запуска приложений. С помощью клавиатуры я могу сворачивать и разворачивать окна, менять их размер, двигать по экрану и между виртуальными рабочими столами, перемещать с одного экрана на другой. И для каждого действия я подобрал комбинацию клавиш. Например, увеличить громкость я могу нажав Win+0, а уменьшить с помощью Win+9. Если нажму комбинацию Win+T, то мгновенно окажусь на первом рабочем столе в окне с терминалом Sakura. А если нажму Ctrl+V, то на втором экране запустится GVim. Это еще одна удобная возможность Openbox. Приложение можно привязать к нужному экрану и рабочему столу или сделать его плавающим, то есть чтобы при переходе с одного рабочего стола на другой оно всегда оставалось видимым. Например, Skype у меня привязан ко второму экрану, но на каком бы виртуальном рабочем столе я не оказался он всегда доступен и отображается на своем месте.

Ну а что делать, если клавиши на клавиатуре закончатся? Для этого я использую приложение gmrun. Это достаточно простой, но вполне пригодный лаунчер для запуска других приложений. Естественно, для самого gmrun выделено сочетание клавиш и я могу запустить его с помощью Win+]. Хотя мне он не особо нравится из-за слишком уж скудных возможностей. Он не ведет статистику запросов и не предоставляет возможности по быстрому доступу к файлам. Вполне возможно, что в ближайшее время я попробую подыскать ему замену. Ранее я пробовал более навороченные лаунчеры Launchy и Synapse, но что-то меня в них не устраивало.

Заключение

Вот я и рассказал вам вкратце о моем опыте работы с Openbox и Linux вообще. Надеюсь, мой опыт кому-нибудь пригодится. Однако не берусь утверждать, что мой путь является самым правильным, а тем более единственным. Полностью уверен, что любой дистрибутив и любую графическую оболочку можно довести до ума, чтобы именно вам было удобно ей пользоваться. Для меня таким сочетанием стали Archlinux+Openbox. Возможно, что для вас это окажется Slackware+Awesome или FreeBSD+KDE, а может и Windows. Главное определиться с тем, что вы сами хотите получить от компьютера и зачем он вам нужен. В конце концов это лишь инструмент, который создан для быстрого решения однотипных задач, чтобы у вас оставалось больше времени на поиск ответов для настоящему сложных вопросов.

Понравилась статья?
Не забудь поделиться ей с друзьями!

Похожие публикации

Комментарии

Анон:

Mikhail:

А если эти возможности все же нужны, то, вероятно, есть смысл смотреть в сторону KDE, Gnome или Unity

Если и выбирать DE, то более-менее схожее с поведением explorer.exe.

Ну более перегруженных различными инструментами сред рабочего стола я не встречал.

Анон:

Так, теперь такой вопрос, конечно возможен спор, но: что выбрать Qt или GTK+?

Разница лишь в визуализации. В целом можно настроить темы оформления так, что и те, и другие приложения будут смотреться вполне однородно рядом друг с другом, если это настолько принципиально. На скорость, надежность и другие характеристики программ это влияет не так сильно. Хотя стоит признать, что KDE (как целостная оболочка) отличается определенной тормознутостью, поэтому я предпочитаю приложения на GTK+ (хотя это скорее предрассудки). Не могу сказать, что KDE хуже, но различные эффекты прозрачности, сглаживания и градиенты требуют жертв. Это замечание относится в большей степени ко всему KDE, а не к отдельным приложениям, которые очень неплохо работают. Да и вообще, при создании собственных программ с графическим интерфейсом (а можно и без) на C++ я бы рекомендовал использовать именно Qt.

Mikhail:

Хотя стоит признать, что KDE (как целостная оболочка) отличается определенной тормознутостью

А вдруг это исправят?

Анон:

Mikhail:

Хотя стоит признать, что KDE (как целостная оболочка) отличается определенной тормознутостью

А вдруг это исправят?

Я уже относительно давно не слежу за выходом новых версий KDE, но могу предположить, что если разработчики придерживаются тех же стратегий развития системы, что и раньше, то визуальная часть будет требовать больше и больше ресурсов. С другой стороны, большинство эффектов можно отключить.

Вот такая ситуация: делаешь netinstall какого-нибудь дистрибутива, получаешь голую консоль, а что дальше устаналивать то? Можете написать в одну строчку все программы, которые вы устанавливаете после netinstall'a?

Анон:

Вот такая ситуация: делаешь netinstall какого-нибудь дистрибутива, получаешь голую консоль, а что дальше устаналивать то? Можете написать в одну строчку все программы, которые вы устанавливаете после netinstall'a?

Хорошо. Составлю минимальный список на основе имен пакетов из Archlinux. Но следует учитывать, что универсального списка, который подойдет абсолютно всем, не существует.

Да, универсального нет, но часто используемый - да. А вы не знаете почему если убавить громкость чуть ниже половины на любом микшере, то звука почти не слышно? (Относится к ноутбукам).

Анон:

А вы не знаете почему если убавить громкость чуть ниже половины на любом микшере, то звука почти не слышно? (Относится к ноутбукам).

Используется ALSA, OSS или PulseAudio? Причин может быть много. Например, я сам остановился именно на PulseAudio. Уже не помню точные причины перехода, но меня он полностью устраивает (работаю, правда, не на ноутбуке). Та же регулировка громкости работает очень четко.

И так, докладываю ситуацию: сделал debian netinstall, апгрейднулся до sid, апгрейднул интеловский драйвер до самой поздней версии, немного прифигел, система стала отзывчевее, или мне так кажется. Установил network-manager-gnome, alsa и pulseaudio, пока что без гуишек, что делать дальше, спрашивается?

А такое может быть, что, чем выше настройки, тем больше FPS? Просто я тестил Chivalry: MW, и как ни странно, с низкими настройками были лаги...

Анон:

И так, докладываю ситуацию: сделал debian netinstall, апгрейднулся до sid, апгрейднул интеловский драйвер до самой поздней версии, немного прифигел, система стала отзывчевее, или мне так кажется. Установил network-manager-gnome, alsa и pulseaudio, пока что без гуишек, что делать дальше, спрашивается?

Под Debian не проверял, но на Archlinux'е на следующем шаге ставлю Иксы. Для этого достаточно пакетов xorg-server, xorg-xinit (и их зависимости) + драйвера на видеокарту (зависит от производителя, но можно попробовать и на xf86-video-vesa, но тогда никакого аппаратного ускорения ждать не приходится). Лучше всего дела обстоят с видеокартами NVIDIA. Для них имеются хорошие проприетартные драйвера, которые можно скачать с официального сайта. Также они могут входить в репозиторий дистрибутива (в Archlinux'е именно так). Когда Иксы настроены, то ставим менеджер окон (тот же Openbox) или целый DE. Ну и не помешает какой-нибудь менеджер входа в систему (например, lxdm). А дальше уже как пойдет.

Анон:

А такое может быть, что, чем выше настройки, тем больше FPS? Просто я тестил Chivalry: MW, и как ни странно, с низкими настройками были лаги...

Вообще, FPS не должен увеличиваться при повышении уровня настроек. Конечно, все зависит от фактического кода игрового приложения. Но чисто логически такого происходить не должно. Если есть желание, то можно попытаться для начала определить узкое место, которое является причиной лагов. Если лаги происходят периодически и жестко подвешивают игру, то может не хватать оперативной памяти. Если фпс снижается, когда в обзор попадает множество объектов, то причина в видеокарте. А если скорость падает, когда в окружении появляется множество врагов (или других ботов), то не тянет процессор.

Ну что, так и не надумали списочек?

Анон:

Ну что, так и не надумали списочек?

Думал над этим, но требуется сделать уточнение. Интересуют чисто прикладные программы? Потому что практически полный список уже приведен в статье ТОП 15 приложений для Openbox.

Как можно переназначить клавишу модификатор (ALT) на кнопку "Окошек"?

Anonymous:

Как можно переназначить клавишу модификатор (ALT) на кнопку "Окошек"?

Для переназначения клавиш-модификаторов можно использовать утилиту xmodmap. Если запустить ее без параметров, то будут выведены используемые модификаторы:

shift Shift_L (0x32), Shift_R (0x3e)

lock ISO_Next_Group (0x42)

control Control_L (0x25), Control_R (0x69)

mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)

mod2 Num_Lock (0x4d)

mod3

mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)

mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)

Чтобы переопределить назначение модификатора, сначала нужно освободить его. Например, если хотим переназначить ALT, то очищаем группу mod1 следующим образом (из консоли):

xmodmap -e "clear mod1"

А можно удалить клавиши из группы только выборочно. Например, левый ALT:

xmodmap -e "remove mod1 = Alt_L"

Теперь можно переназначить клавишу на новый модификатор:

xmodmap -e "add mod4 = Alt_L"

А можно добавлять сразу несколько:

xmodmap -e "add mod4 = Alt_L Alt_R"

После этого левый ALT будет работать так же, как и клавиша WIN. Точно так же можно переназначать любые клавиши-модификаторы.

Но эти настройки продержатся только до конца сеанса работы иксов, поэтому можно создать файл конфигурации ~/.Xmodmap подобного содержания:

remove mod1 = Alt_L

add mod4 = Alt_L

А затем добавить в автозагрузку команду xmodmap ~/.Xmodmap. Для Openbox достаточно вставить в начало ~/.config/openbox/autostart строку: (sleep 3s && xmodmap ~/.Xmodmap) &. Значение задержки 3 здесь подобрано чисто экспериментально. Оно необходимо, чтобы к моменту вызова команды Openbox уже успел прогрузиться. Иначе наши модификаторы клавиш будут переопределены.

ALT+F4 не работает как в вантузе

RSS RSS-рассылка

Популярное

Дешевый хостинг