С возрастом всё больше становится жалко времени на бесплодные ёрзанья мышкой; всё больше раздражения вызывает загружаемый с каждой DE какой-то бесконечный хлам, который съедает время и ресурсы с малопонятными целями. И начинается традиционное нисхождение: от KDE к XFCE, потом к LXDE. Наверное, когда-нибудь я дойду и до голой консоли на десктопе. Но пока меня остановил OpenBox. «CrunchBang своими руками» – так чаще всего называются подобные руководства. Некоторые пишут совсем коротко: «Посмотри конфиги CrunchBang и настрой по ним свой OpenBox!»
 Я посмотрел конфиги CrunchBang. Только он уже не CrunchBang, а BunsenLabs называется. Установил его на своём ноутбуке для изучения – wi-fi не работает: заводится и тихо умирает. Думаю, это из-за старого ядра – наблюдал такое раньше. Попытался перенести конфиги в Убунту – не получилось: там половина команд начинается с префикса «bl-», понятно, что это будет несовместимым с другими дистрибутивами. Стало очевидно, что лёгкого пути не будет.
 Изначально для моей «голой» системы было два варианта: Дебиан netinst или Убунту сервер. После того как новенький Дебиан 9.1 гордо отказался конфигурировать Mysql (точнее, Mariadb) – даже после угрожающих размахиваний напильником и чтения вслух гневных нецензурных заклинаний с ЛОРа – остался только один вариант.

 Установил Убунту сервер 16-с-чем-то. На работе. Пришёл домой, чтобы тихо посидеть над OpenBox'ом, а на ноутбуке уже интернет не работает. Потому что на работе я в него перед установкой провод воткнул, чтобы долго не разбираться. А дома вай-фай. И что? Куда тыкать мышкой, чтобы выбрать беспроводную сеть? Пошёл на работу, воткнул провод, установил lubuntu-desktop, wi-fi появился, красота! Потом анекдот про двух ковбоев вспомнил: «А тебе не кажется, Джон, что мы оба забесплатно дерьма поели?» То есть Lubuntu я и так мог скачать и установить, сразу, готовую, а не таким хитрым способом. Задача была немного другая.

 Путь оказался ещё менее лёгким. Пришлось разбираться с этими вашими /etc/network/interface'ами. Разбирался, читал, экспериментировал. Для начала узнал, как устанавливать сами «окна» – после установки «голой» системы, надо в консоли писать что-то вроде: Вы спросите: ну ладно ещё Xarchiver, но причём тут Geany? – Так, для примера; там большой хвост ещё из разных предпочтений тянется от разных пользователей в интернете — я ведь не первый, кто пытается настраивать OpenBox для себя. Но это всё не очень принципиально. Важно то, что это неполный набор, неработающий!
 В процессе экспериментов с некоторыми «голыми» debian-based ОС я выучил наизусть, что для возможности подключения к wi-fi мой файл /etc/network/interfaces должен выглядеть так: Это меня и подвело – то, что выучил наизусть. Файл-то я скопировал, а wi-fi не работает. Потому что где-то в середине экспериментов у меня возник вопрос: вот я отказался от LXDE, так, может, и Lightdm для OpenBox'а не нужен? И ответ у меня получился положительный. То есть я его в итоге не стал устанавливать, совсем. Авторизуюсь в консоли, делаю там что-то, а потом вдруг мне хочется в окна мышкой потыкать, и я пишу сакраментальное: Потому что у меня задачи такие – в основном работа с сервером; и иногда хочется эту работу сделать удобнее – ну, там, несколько вкладок в файл-менеджере использовать, или в соседнем окне фильм посмотреть. Я не проверял, устанавливаются ли «беспроводные инструменты» вместе с Lightdm или эти инструменты тянет за собой LXDE какое-нибудь, но без Lightdm и без LXDE – точно не устанавливаются. Поэтому более правильно команда установки должна выглядеть так: Те, кто не знает ещё своего длинного зашифрованного ключа для вайфая, могут записать его в текстовый файл wpa-psk.txt так: Ещё деталь: волшебное слово wlp1s0, для обращения к вашему сетевому интерфейсу, можно узнать, например, командой: И там у вас может оказаться совсем другое слово – например, wlan0. Когда же мне надоест руками править файл /etc/network/interfaces при переходе из одного здания в другое, я тоже знаю, что мне надо будет сделать – установить NetworkManager: Потом создать файл в своём домашнем каталоге ~/.config/openbox/autostart (если его ещё нет) и дописать туда две строчки: В сети описываются проблемы с апплетами для OpenBox'а, возникающие иногда из-за неправильной последовательности загружаемых модулей. Одно из решений я нашёл такое – вместо простого «tint2 &» написать: Видимо, предлагаемая задержка в 2 секунды помогает автозагрузчику OpenBox'а пережить разный сторонний загружаемый бутор и потом без помех отобразить желанную иконку сетей, по которой можно щёлкать мышкой. На сайте wiki.archlinux.org я видел ещё более «медленную» конструкцию: В целом, конечно, такая стратегия выглядит как-то сомнительно: мы же в итоге стремимся к «мгновенной» загрузке и выгрузке «иксов», иначе зачем нам этот путь упрощений – от KDE к XFCE, LXDE, OpenBox'у?
 Куда делись из моей команды установки OpenBox Коньки (Conky)? Это такой апплет (или виджет?), который прямо на рабочем столе показывает, сколько у вас осталось памяти и не слишком ли перегрелся процессор. Я понял, что он мне так же не нужен, как и Lightdm, и Xcomppmgr из примера выше. В развитой мерфологии есть такая рекомендация: перед тем как пойти сдавать анализы в поликлинику, определите, что вы будете делать, если анализы положительные; подумайте, что будете делать, если анализы отрицательные; сравните ваши действия – если они одинаковы в обоих случаях, зачем вам вообще идти в поликлинику?

 Зачем мне знать, сколько осталось памяти? Если комп уже начал сильно тормозить, я и так знаю, что делать, – например, закрыть все открытые окна («Если вы что-нибудь открыли – закройте»). И я знаю (чувствую пальцами), когда ноутбук перегревается, и тоже знаю, что делать, когда он начал перегреваться постоянно – например, можно попробовать отнести его на профилактику.

 Ну, иногда бывает нужно посмотреть, кто конкретно больше памяти жрёт – Firefox или Chromium. Не для практической пользы, конечно, а чтобы вставлять потом умные замечания в дискуссии и базары на форумах. Но для этого постоянно работающий апплет не нужен, достаточно запустить на минутку в консоли команду:  Как же жить без этого? Я бы вполне удовлетворился правкой файла /etc/default/keyboard: Если бы не две проблемы: 1) не всегда правка этого файла помогает – конфиги клавиатуры во время загрузки оконной системы читаются ещё из нескольких тайных мест; 2) мне удобнее, когда в разных открытых окнах запоминается разная раскладка, а в конфиге /etc/default/keyboard такое поведение окнам назначить нельзя. Поэтому устанавливаем ещё одну программу: Впрочем, она уже записана в нашу общую «правильную» (Вариант 1) команду установки OpenBox. Потом создаём файл ~/.xxkbrc с примерно таким содержанием: В управляющей полоске каждого окна будет отображаться флажок языка, и каждое окно запоминает текущую раскладку. И да, сами клавиши переключения раскладки надо записать в файл ~/.config/openbox/autostart в виде такой команды: Мои наиболее частые действия на компьютере – открыть файл и что-нибудь написать в нём. Иногда это связный русский текст, иногда что-то вроде Часто приходится открывать файлы по сети – хотя бы чтобы просто посмотреть, что там написано. Поэтому мне совершенно необходим такой «стек» программ: файл-менеджер – фтп, smb, или fish клиент – текстовый редактор с подсветкой и проверкой орфографии. И ещё желательно не вводить каждый раз пароли для удалённого доступа. Такие задачи можно решать, например, с помощью связки программ Krusader – Kate. А Kwalletmanager для хранения паролей сам с ними устанавливается. Да. И ещё треть KDE, наверное. Но тут уж ничего не сделаешь. Пробовал Tux-commander – он открывает файлы по сети, но не сохраняет обратно, во всяком случае «из коробки»; да и в целом возможности явно беднее, чем у Krusader'а. Те же проблемы и у «родных» файловых менеджеров KDE, XFCE, LXDE. То есть кому-то это всё равно, а для меня – проблема. Таким образом, команда установки удлиняется на пару пунктов: krusader kate krename kdiff3 unrar konsole. Конечно konsole – а иначе что будет открываться в Krusader'е при нажатии клавиши F2 (или, в новой версии, F9)?
 Русификация самой системы мне не нужна: мне привычно и удобно в файл-менеджере набирать три буквы «doc», чтобы переместиться на папку Documents; а если папка будет называться «Документы», придётся переключать раскладку – уже не очень удобно. Ну, или в Krusader'е Alt+s – «Settings» и прочие обозначения уже привычны; как это будет по-русски, мне даже страшно подумать. А вот проверка орфографии – хотя бы от элементарных опечаток – необходима. Её в Kate обеспечивает aspell (или ispell? всё время их путаю). К ним надо локальные настройки скачивать. В Либреофисе – hunspell, к нему тоже надо словари. Ну и словари для Firefox – отдельная песня. 

Итого, вместе с самим Либреофисом и Firefox'ом команда установки получится:  Совсем забыл про mc – его в Убунту-сервере по умолчанию нет, и я его поставил первым, ещё в голой консоли. Geany – для страховки: не с любым файлом удобно работать в Kate. 

 «Зачем же тебе l10n-ru, если тебе не нужна русификация интерфейса?» – обязательно спросит, гаденько усмехаясь, наблюдательный линуксоид. – Не для себя. Это моя старая боль в спине (или ниже?): установишь кому-то в очередной раз линукс – и тут же вопли: я ничего не понимаю! тут всё не по русски! Вот у меня уже и выработался рефлекс, можно сказать. Хотя вряд ли, конечно, при уводе очередного клиента с Виндовс я буду ставить ему OpenBox. Но готовиться надо: иногда попадаются пользователи, совершенно не способные постоять за себя и готовые послушно заучивать все эти Alt+F2 и Win+w.
 Gmrun нужен, чтобы вызывать программы не мышкой из списка в меню, а непосредственно по Alt+F2, для чего в файл ~/.config/openbox/rc.xml должно быть, конечно, записано: Например, захотите вы компьютеру сказать shutup! shutdown -h 0 – вот и Alt+F2 пригодится. Конечно, не очень удобно для вызова программы полностью набирать её название. В Gmrun по умолчанию работает автодополнение названий программ при нажатии клавиши Tab. Это поведение можно изменить – чтобы подсказки выскакивали сразу и сами, без Tab. Для этого надо создать в домашней папке файл .gmrunrc и записать в него строку: TabTimeout = 1. В этом же файле можно указать некоторые другие настройки; полный их список можно посмотреть в файле /etc/gmrunrc; а лучше скопировать этот файл в ~/.gmrunrc и внести на новом месте нужные изменения. Gmrun Alt+F2 с автодополнением программ – это, в сущности, замена вызова меню по Alt+F3 в XFCE или Alt+F1 в KDE, только без нудного лазанья по ответвлениям вида «Настройки», «Система», «Интернет»… К сожалению, собственных «actions» OpenBox'а там нет. Например, нельзя через Gmrun вызвать команду Exit – выгрузить сам OpenBox и вернуться в консоль. Или Restart – обновить конфигурацию после правки конфигов. Поэтому несколько команд всё равно приходится заучивать отдельно: Ctrl+Alt+r – Restart, Ctrl+Alt+0 – Exit. А чтобы они работали, надо добавить в файл ~/.config/openbox/rc.xml следующие записи: Возможно, такие штатные менеджеры, как Thunar или PCManFM умеют монтировать флэшки. Или даже авто-монтировать при вставке. Мой Krusader в «минимальном» OpenBox'е не осилил: устройство он показывает, предлагает смонтировать, но потом говорит, прав не хватает. В режиме рута монтирует, но русские буквы отображаются вопросиками. То есть нужно, видимо, что-то ещё там скриптами подстраивать или дополнительными утилитами. Я решил проще – добавил в /etc/fstab две строчки: Наверное, надо ещё и sdb2 на всякий случай, но мне для моих флэшек хватает. Теперь Krusader монтирует и отмонтирует вставляемые флэшки правильно. Если у вас есть нужные для работы дополнительные разделы на локальных дисках, их тоже лучше сразу прописать в /etc/fstab. 
 Остался вопрос: зачем в конце получившейся команды установки OpenBox (Вариант 2) написано mpv? С учётом того что мне ещё надо настраивать на моём Убунту сервере LAMP или QEMU, этот вопрос кажется мне каким-то мелким, не стоящим внимания. Гораздо интереснее узнать, в чём я ошибся в своей настройке OpenBox и какие варианты настроек ещё бывают; что я забыл. Скажем, иногда надо видеть два окна сразу — например, рисунок клавиатуры и текстовый редактор (для изучения «слепого» набора). Можно ведь аккуратно разместить эти окна на экране клавиатурными сокращениями. А потом как-то заставить OpenBox запомнить это расположение окон. И вообще сохранить всю сессию. То есть тут есть над чем работать. P.S. Чуть не забыл: если вы не используете NetworkManager, строчку auto wlp1s0 в файле /etc/network/interfaces лучше закомментировать и использовать для подключения к сети команду в консоли:  (Вместо wlp1s0 — название вашего беспроводного интерфейса). Иначе загрузка Убунту может «зависнуть» минут на 5 в поисках несуществующей точки доступа к wi-fi. UPD. Флешки монтировать руками, конечно, довольно неудобно. В итоге решил эту проблему установкой pcmanfm: видимо, он устанавливает необходимые утилиты, и после его установки krusader тоже нормально монтирует подключаемые устройства. Заодно и network-manager установил. Но польза от периода работы без него осталась: теперь я знаю, как подробно посмотреть, почему не подключается wi-fi (а с network-manager'ом щёлкаешь по иконке — и ничего не происходит, и не видно, где проблема). Ещё в процессе работы сформировался набор приложений, которые постепенно доустанавливались. В итоге общая команда установки на Убунту Openbox, утилит и рабочих программ сильно выросла. Я разделил её на две части. После выполнения первой части можно выдернуть сетевой провод и дальше работать по wi-fi. Скорее всего, wpasupplicant и wireless-tools не нужно устанавливать отдельно, если устанавливаем сразу network-manager — это как бы варианты. В arch linux нужно ещё отдельно устанавливать пакет kio-extras, иначе не будет работать sftp в Krusader'е. Synaptic удобен для поиска — когда точно не знаешь название программы. Lm-sensors установил от страха — когда вдруг показалось, что ноутбук греется. И ещё: не ищите замечательный справочник zeal (ссылку на который дал Shtucer) на других линукс-платформах — кажется, такой готовый пакет есть только для Убунту. php, javascript, postscript, линукс