Всё, что вы настроили в Linux, можно было не настраивать

от автора

Я использую Linux 15 лет. Ну, то есть как использую: первые года три я его настраивал, а не использовал. Это разные вещи, и мне понадобилось позорно много времени чтобы это понять.

Сейчас у меня Fedora. Из коробки. С GNOME. Почти без кастомизации. Я набираю в ней код, сижу в браузере, иногда монтирую видео для внутренних демок. Всё работает.

Пятнадцать лет назад я бы от такого описания плевался. Как это «из коробки»? А где i3? Где polybar? Где 400 строк .vimrc? Где кастомный скрипт на баше который при подключении второго монитора переключает раскладку DPI и температуру цвета?

Ну вот, нету. И ничего не сломалось.

2011

Мне 19, я ставлю Ubuntu 11.04 на свой первый не-родительский ноутбук. HP какой-то, уже не помню модель. Помню что вайфай не завёлся, и я провёл вечер пятницы и всю субботу выясняя какой у меня чипсет, какой нужен драйвер, и почему modprobe говорит мне вещи которые я не понимаю.

Вайфай заработал в воскресенье к обеду.

Я чувствовал себя хакером. Серьёзно. Я починил целый вайфай. Руками. Через терминал. Не то что эти виндузятники, которые тыкают «далее-далее-готово». Я понимаю свою систему.

Я не понимал свою систему. Я нагуглил команды на форуме и вставил их в терминал. Но ощущение было: ого.

Потом я потратил ещё неделю на то чтобы:

  • Поставить Compiz и настроить вращающийся куб рабочих столов (помните эту штуку? Боже, 2011 год)

  • Поменять тему GTK

  • Поменять иконки

  • Поставить Conky с виджетами на рабочий стол: загрузка CPU, температура, RAM, uptime

  • Настроить Docky (док как в макоси)

Ничего из этого не было нужно для работы. Для учёбы тоже. Мне нужен был браузер и текстовый редактор. Но я НАСТРАИВАЛ.

Фаза i3

Примерно 2014 год. Я уже работаю джуном, пишу на питоне какие-то скрипты для внутренней автоматизации. Открываю для себя тайлинговые менеджеры окон и моя жизнь делится на «до» и «после».

i3 это было откровение. Ты нажимаешь хоткей, окно встаёт слева. Ещё хоткей, справа. Мышка не нужна. Ты управляешь компьютером как хакер. Ну, мне так казалось.

Конфиг i3, отдельная история. У меня он за три года разросся до 280 строк. Кастомные биндинги на всё. Отдельная клавиша для переключения между горизонтальным и вертикальным сплитом. Ещё одна для перемещения окна на соседний воркспейс. Ещё одна для перезагрузки polybar. Про polybar вообще молчу, там был конфиг на 400 с чем-то строк, с кастомными скриптами на баше для отображения погоды, курса биткоина (который я не покупал), и названия текущего трека в Spotify (через dbus, и оно ломалось раз в месяц после обновления).

Поверх этого:

  • rofi как лаунчер (конфиг строк на 50, тема кастомная)

  • dunst для уведомлений (ещё конфиг)

  • picom для прозрачности и теней (ещё)

  • feh для обоев (скрипт который менял обои каждые 30 минут из определённой папки)

  • скрипт для скриншотов (maim + xclip, строк 40, с поддержкой выделения области)

Я вёл dotfiles-репозиторий. С README. С инструкцией по установке. Как будто кто-то кроме меня будет это ставить.

Знаете сколько звёзд было у этого репозитория? Три. Одна моя (ну, для закладки), одна от знакомого которого я попросил, и одна от рандома из Бразилии. Спасибо, рандом из Бразилии. 

Продуктивность

Тут надо быть честным с собой. Я был уверен что вся эта настройка делает меня продуктивнее. Тайлинг, хоткеи, всё на клавиатуре, это же объективно быстрее, правда?

Нет. Ну, то есть… точнее, не совсем нет, но не настолько насколько я думал.

Вот мой типичный рабочий день в 2016-м. Прихожу на работу, открываю ноутбук. i3 загружается мгновенно, да. Открываю три воркспейса: терминал, браузер, слак. Это занимает секунд пять. На GNOME это заняло бы секунд семь. Может десять. Выигрыш — пять секунд.

А потом я час пишу код. И ещё час. И ещё. И скорость моей работы определяется тем, как быстро я думаю, а не тем, как быстро я переключаю окна. Тайлинг не ускоряет мышление. Кастомный конфиг терминала не помогает дебажить быстрее. 280 строк конфига i3 не делают мой код лучше.

Но я этого не замечал, потому что каждый раз когда я переключал окно хоткеем, мой мозг выдавал маленькую порцию дофамина — «я эффективен, я контролирую систему, я не как те люди с GNOME которые мышкой тыкают».

Сейчас понятно, что это скорее про ритуал, чем про продуктивность.

(Впрочем, ритуалы тоже нужны. Я не хочу сказать что это было бесполезно на 100%. Мне нравился процесс. Но надо отделять «мне нравится» от «это делает меня эффективнее». Я долго это путал.)

Точка перелома

2023 год. Мне надо было срочно поднять рабочее окружение на новом ноутбуке. Старый умер, залил чаем, классика, да, я знаю, идиот. Купил ThinkPad, поставил Arch (btw), и начал накатывать свои dotfiles.

Не завелось.

Ну, то есть, i3 встал, но polybar не собирался с новой версией какой-то зависимости. Picom поменял формат конфига и мой старый не подходил. Один из скриптов для polybar использовал python2, а его уже не было в репозиториях. Скрипт скриншотов сломался потому что я перешёл на Wayland… а, нет, я не переходил на Wayland, но Arch подтянул какие-то wayland-зависимости которые конфликтовали с… неважно.

Я провёл два дня чиня своё окружение. ДВА ДНЯ. У меня были задачи, дедлайн, прод полулежал (не из-за ноутбука, просто совпало), а я сидел и разбирался почему мой скрипт для отображения курса биткоина в polybar не работает с новой версией jq.

На второй вечер я остановился и спросил себя: зачем мне курс биткоина в polybar? Я не торгую биткоином. У меня нет биткоина.

Зачем мне кастомные уведомления через dunst? Стандартные работают так же.

Зачем мне 280 строк конфига i3, если я использую из них двадцать хоткеев, а остальные не нажимал ни разу за последний год?

Зачем мне прозрачные окна?

Чтобы видеть обои через терминал? Обои, которые меняются каждые 30 минут и которые я не замечаю, потому что на экране всегда открыты окна?

Я снёс всё и поставил Fedora с GNOME.

Что оказалось не нужно

Ок, вот список. Не претендую на объективность, это моё личное, но подозреваю что многие узнают себя.

Тайлинговый WM. Не нужен. GNOME умеет прилепить окно влево-вправо по Super+←/→, и для моих задач этого хватает. Да, i3 мощнее, но мне эта мощность не нужна. Мне нужны два окна рядом, иногда три. Всё.

Хотя, оговорка: если вы реально работаете с пятью-шестью окнами одновременно, то тайлинг может быть оправдан. Я не работаю. Мне хватает Alt+Tab.

Кастомный бар. Нет. Стандартная панель GNOME показывает время, батарею, вайфай, звук. Что ещё мне нужно знать постоянно? Загрузку CPU? Зачем? Если что-то тормозит, я и так замечу. Температуру? Зачем? Ноутбук сам троттлит если надо.

Кастомный лаунчер. Нет. Нажимаю Super, набираю первые буквы, Enter. Работает в GNOME из коробки. Rofi делал то же самое, только у него была кастомная тема с полупрозрачным фоном. Которую никто кроме меня не видел.

Dotfiles-репозиторий. Не нужен, если ваше окружение это дефолтный DE с пятью расширениями. Бэкапить нечего. Ну, .bashrc на 30 строк, алиасы. Всё.

Кастомная тема. Нет. Стандартная Adwaita — нормальная тема. Она не красивая? Ну ок. А Word тоже не красивый, и ничего, люди в нём документы пишут. Мне от темы нужно одно: чтобы текст читался. Adwaita справляется.

Скрипты автоматизации рутины. Вот тут сложнее. Часть скриптов реально полезна, у меня есть скрипт деплоя на тестовый сервер, скрипт для быстрого создания нового сервиса из шаблона, пара алиасов для git. Это нужно, это осталось. Но скрипт для скриншотов, скрипт для смены обоев, скрипт для автоматического переключения аудиовыхода… нет. PrintScreen и встроенный скриншотер GNOME работают. Обои стоят одни и те же полгода. Аудио переключаю кликом в трее, мне не лень.

Контраргумент, и он валидный

Мне сейчас в комментариях напишут: «ну ты просто не тот юзкейс, а вот я…»

Да, наверное. Точнее, не наверное, а точно для части людей это не применимо. Если вы сисадмин и у вас 40 серверов, да, вам нужны скрипты и кастомное окружение. Если вы занимаетесь пентестом, вам нужен специфический набор инструментов. Если у вас проблемы со зрением и стандартные шрифты/контрасты не подходят, вам нужна кастомизация.

Но я говорю не про эти случаи. Я говорю про разработчика (бэкенд, фронт, мобилка, whatever) который тратит выходные на конфигурацию .vimrc, и при этом уверен что это делает его продуктивнее. Может и делает. Чуть-чуть. Но знаете что делает продуктивнее гораздо больше? Разобраться в том инструменте, в котором ты пишешь код. Прочитать документацию к фреймворку. Написать тесты.

Я потратил на настройку polybar суммарно, наверное, часов 40–50 за три года. Каждый раз «ещё один скрипт, ещё один виджет». 50 часов. За эти 50 часов я мог прочитать книгу по программированию, или пройти курс по системному дизайну, или написать проект для портфолио. Или просто погулять.

(50 часов это моя грубая оценка, может меньше, может больше. Не считал. Но у меня в гите видно когда я коммитил в dotfiles, и там прям видно паттерн, каждые выходные по коммиту-два.)

Почему мы это делаем

У меня есть теория, и она не оригинальная, но я её расскажу.

Настройка окружения — это прокрастинация, которая чувствуется как работа. Ты не сидишь в ютубе, ты ведь РАБОТАЕШЬ НАД ИНСТРУМЕНТАМИ. Ты оптимизируешь рабочий процесс. Ты инвестируешь в будущую продуктивность.

Нет. Ты ковыряешь конфиг потому что это приятно и понятно, а задача на работе сложная и неприятная. Парсить CSS-конфиг rofi проще чем разбираться в чужом легаси. Написать скрипт для polybar на баше проще чем написать документацию по API. И результат виден сразу: вот, значок погоды в баре, красиво, я молодец.

Это хобби. И в хобби нет ничего плохого! Но не надо путать хобби с продуктивностью. Я путал. Долго.

Не по теме, но забавное наблюдение

Знаете что я заметил когда перешёл на GNOME? Мне стало скучно за компьютером. В хорошем смысле. Компьютер перестал быть объектом внимания и стал инструментом. Я открываю ноутбук, делаю дело, закрываю. Раньше я открывал ноутбук, двадцать минут ковырял что-нибудь в конфигах, потом делал дело, потом ещё десять минут ковырял, потом закрывал. Те тридцать минут в день — это 10 часов в месяц. В год — 120 часов. Пять суток. Пять суток ковыряния конфигов.

Ладно, 120 часов это если каждый день, а в выходные я не всегда за ноутбуком. Допустим 80 часов. Всё равно много.

Что я НЕ говорю

Не говорю что Linux плохой. Он хороший. Пользуюсь 15 лет и не планирую уходить.

Не говорю что все должны сидеть на GNOME. Мне подошёл, вам может не подойти. KDE тоже ок. Даже… ладно, не буду про XFCE, оставлю для комментов.

Не говорю что настройка это зло. Говорю что я лично тратил на неё непропорционально много времени относительно выхлопа, и подозреваю что я не один такой. Если вы настраиваете осознанно, под реальную потребность, и это занимает час а не неделю, респект, вы лучше меня.

И не говорю что не надо учиться. Разбираться в системе, понимать как работает ОС, уметь починить если сломалось — это полезно. Вопрос в пропорции. Мой баланс был 80% настройка, 20% использование. Надо было наоборот.


А как у вас? Сколько часов вы потратили на конфиг, который потом снесли? Или вы из тех кто до сих пор на i3/sway и счастлив? Мне правда интересно, без подколки. Может я просто вырос из этого, а может это и правда всем нужно.

ссылка на оригинал статьи https://habr.com/ru/articles/1044236/