LINUX.ORG.RU

Suckless


21

0

Всего сообщений: 4

dwm, ranger, geany...

Настало время попробовать очередной тайловый оконный менеджер. Выбор пал на dwm. Долго не решался его попробовать, т. к. он отпугивал своей специфичной настройкой. На деле оказалось все намного проще.

  • На верхнем скрине ranger с превью обоины и пара терминалов

  • На среднем geany с открытым конфигом dwm

  • На нижнем slock с патчем логотипа dwm

  • ШГ: st - Terminus, dwm и редактор geany - JetBrains Mono

  • Статус бар - slstatus

  • Обоина тут

  • Конфиги тут

>>> Просмотр (1920x3240, 1170 Kb)

 , , ,

sergio1204
()

Переход с Linux на FreeBSD. Успех, но...

Этот небольшой пост не порадует вас обилием картинок, он скорее объявление о намерениях.

Под новый год сдох последний SSD в рейде, и я наконец перешел с Oracle Linux 6 (с 2013 года) на FreeBSD (да, у меня много времени). И вот хочу бороться с мифами на форуме и всеми этими постами «стоит ли переходить», а «какого цвета трава по вашу сторону забора» и т.д. Обычно на эти вопросы отвечают фанаты FreeBSD, а я предлагаю ниже краткое описание от линуксоида. Посвящено оно в основном звуку. Это при том, что я уже два года пробую FreeBSD на личных серверах.

Сначала о постановке целей.

1) Недостижимый идеал темы выглядит вот так https://www.gnome-look.org/p/1120849/ Недостижим он по той причине, что исходники иконок в SVG недоступны, а темы QT и GTK изрядно переписаны в сторону метросексуальности. Так что пока скриншот только с консолью.

2) Основные требования к софту:

2.0 стабильность
2.1 Urxvt/bash/mc
2.2 Google Chrome
2.3 Thunderbird
2.4 VirtualBox
2.5 rtorrent/mplayer (mpv/moc)
2.6 LibreOffice
2.7 Контейнерная виртуализация.

3) Основные требования к ОС:

3.0 мышь и клавиатура
3.1 Firewall, маркировка по портами, маршрутизация вместе с NAT.
3.2 No Pottering, No pulseaudio, No systemd, No gstreamer, No avahi
3.3 FS live snapshots. Не ZFS.
3.4 nvidia proprietary driver
3.5 PA like functionality.

--------------
Реальность:
2.0 Во-первых, надо полностью развеять миф о бОльшей стабильности FreeBSD по сравнению с Linux. За время своего знакомства я наступил на кернел паник в стабильном, ванильном, оттестированом и т.д. выпуске, сегфолт пакетного менеджера (знаю, как повторить), сегфолт утилиты из базы (jails, зафиксировано в багтреке), сегфолт fsck (зафиксировано в багтрекере). И нет в шестом редхате такого не было, а с манжаро, арчами, федорами и гентами сравнивать не берусь, там все бывает. Во-вторых, везде кода меньше, система легче. Порядка немного больше. Это что касается базы. В прикладном софте примерно также.

2.1 bash. Я держу набор .bashrc файлов для всего набора линуксов, с которыми сталкивался, чтобы унифицировать поведение в консоли. Ес-но, FreeBSD отличается сильнее, консольные утилиты просто менее функциональны, дурацкое требование слеша на конце при использовании cp -r dir1/ dir2... Поэтому я просто заинсталировал все, что было в репозиториях из гнутого консольного софта и обмотал это альясами. Жить можно и даже неплохо. Из неудобного: все пути длинее, т.к. /usr/local/, блин:( Из странного каждый терминал считается залогиненым юзером в w. Это очень странно.

2.2 Google Chrome. Поломано определение Memory Footprint в Task Manager. Теперь не прибъешь вкладки, которые много отожрали. Хотя кто-то мне доказывал со скриншотами, что это только у меня. хз.

2.3 Thunderbird + (все также)

2.4 VirtualBox - отсутствует коммерческий пак от оракла, стало быть не работает быстрое USB2.0 (буду пробовать прокидывать контроллер) и не работает RDP (не решаемо). Проблемы со звуком, см. ниже.

2.5 mplayer - проблемы со звуком. см. ниже.

2.6 LibreOffice - от RH GTK не избавишься, т.к. программисты с freedesktop хуже поддерживают qt, чем gtk. на QT поломан размер шрифтов. неюзабельно.

2.7 контейнеры jails. Это то, к чему я привык во времена OpenVZ. Все есть, все хорошо. Но рестарт контейнера возможен только через минуту-две. Не освобождает ресурсы. Досадный глюк.

3.0 Из того, что работало на Linux десятилетней давности, но перестало на FreeBSD - это мышь и клава. У FreeBSD традиционно сложные отношения с определением устройств. Они не могу определиться, развивать свое или копировать с линукса udev. В итоге они делают и то, и то и в результате по-умолчанию нифига не работает, конфигурация Xorg'a превращается в разбор внутренней кухни этих заморочек. Плюс они что-то там намудрили, что мультимедийные кнопки на клаве - это как бы отдельная клавиатура (которая не работает). И в добавок, эти мультимедийные клавиши просто не могут работать, т.к. для них указаны ошибочные кейкоды в каком-то махровом году. Два года назад я это выяснил и пропатчил демон, который их определяет. Руки дойдут - сделаю снова.

Почему не определился Genius MX Master, я пока так и не понял, воткнул самую простую USB мышь.

3.1 Firewall - самая грустная часть FreeBSD:( При том, что он существует в трех(!) инкарнациях, они все глубоко в *опе. ipfw - основной и самый функциональный, застрял в середине 90х. Документации просто недостаточно. Сложные штуки с маркировкой трафика по портам и натами на нем невозможно выполнить. pf - устаревшая версия из OpenBSD. сама OpenBSD ее уже выкинула. и также с соляровским вариантом. Солярис тоже его давно выкинул в пользу OpenBSDшного. И хуже всего то, что внутриядерная часть фвола очень простая. Все пакеты падают в одно ведро, там перемешиваются и по факту невозможно их сепарировать. Короче говоря, я пытался три раза хотя бы спародировать какие-то простые места из своей огромной портянки iptables и все это заканчивалось ненавистью и фрустрацией. Так что придется просто поднимать виртуальную машину со старым Linux+iptables.

3.2 No Pottering, No pulseaudio, No systemd, No gstreamer, No avahi - тут полный успех. Но только, если собирать из портов.

3.4 live snapshots. Я говорю об аналоге lvm на линуксе. Я уже много лет использую эту схему, чтобы очень эффективно бекапить террабайты данных. В отличие от всех этих поделок с tar, которые приносят сюда ньюфаги, такая схема позволяет бекапить шифрованные данные, много, не выключая систему, а ZFS на сервере еще и позволяет всем этим свободно манипулировать. Очень круто. Я не знаю, появились ли в Linux offline snapshots, но лучше ZFS я тут ничего не видел.

У меня получилось собрать полный аналог слоеного пирога encryption layer+volume manager+fs. FreeBSD традиционно использует fs soft updates вместо журналирования. В чем принципиальная разница так и не понял, ну и ладно. Просто пришлось отказаться от soft update, включить журналирование посредством geom, словить баг в gjournal, зарапортовать, подождать два года. По-моему он пофикшен, но так ко мне и не прилетел. Но работает.

Вроде

Потому что в первую же ночь система стала колом с ошибками в журнал при распаковке архива!

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

Короче, неожиданный успех. Если кому интересно, почему я не использую здесь ZFS, спросите меня.

3.4 FreeBSD - это единственная ОС из других *BSD с проприетарными драйверами. Полный успех.

3.5 PA like functionality. Да, это большая тема, в которой я к тому же понимаю слабо. Я использую USB-звуковуху, которая пригодна для записи звука и может работать с повышенной дискретизацией или что-то типа того. Считается, что FreeBSD изначально имела более качественный аудио-стек, чем Linux. И судя по количеству и качеству ручек, я в это верю. Такое впечатление, что инженеры, которые это писали, увлекались аудиозаписью. А вот сохранять уровни громкости для приложений она не может:( Поэтому ей нужна надстройка, аналог PA - sndiod.

Естественно, FreeBSD развивается очень медленно, а на линуксе тем временем тяп-ляп глючный пульсаудио. Сейчас к 15ой версии он, наверное, уже не доставляет столько гемороя, и в нем море фич. Я исторически использовал PA 8.0. Звук в VirtualBox заикался. Глючило при разных уровнях громкости для каналов. Рестарт пульсаудио - часть моего воркфлоу с 2013 года, но регулятор громкости для приложений - это прикольно и не имеет аналогов во FreeBSD.

Во FreeBSD нас встречает утилита в 10 раз меньше. Она не требует портянок конфигов, в ней нет блютуса и еще каких-то новомодных штук. Но она тут же сделала все, что мне нужно. Она принимает поток по tcp. Она объединяет каналы в моно, как мне нужно. Она выставляет нужную частоту дискретизации. Первое, что я заметил звук стал чище. Как будто новую аудиокарту взял. Очень круто.
Но
Но теперь звук в mplayer заикается при нагрузке на диск! Я не понимаю, это баг системы или конкретного софта. Вроде напрямую в OSS не заикается. Но так мне не надо.

VirtualBox теперь играет звук чисто. Но недолго. Он не может выводить в sndio, отправляет в OSS и скоро затыкается.

На этом со звуком все.

>>> Просмотр (3200x1200, 181 Kb)

 , , ,

crypt
()

Suckless

  • dwm
  • st
  • nvim

Вроде бы всё

>>> Просмотр (1366x768, 162 Kb)

 , , ,

rk-d
()

Рабочее место шифропанка

Привет всем! Хочу показать своё домашнее рабочее место, а также место, где хостится бОльшая часть ресурсов http://www.cypherpunks.ru

Главная часть — два компактных сервера от ETegro Technologies. Xeon процессор (чтобы поддерживать ECC память), 16 GB ECC RAM. В каждом из них корзина для 4-х hot-swap SATA дисков, но в серверах только по два диска (2-3 TB) в ZFS зеркале. В одном сервере ещё и 100 GB Kingston SSD для L2ARC кэша. Всё это соединено гигабитной сетью не связанной с Интернетом. Один из серверов выступает в качестве шлюза к Интернету — для него отдельный 100 Mbps коммутатор стоит. Есть ещё какой-то дешёвый WiFi мост, но он не включался уже много месяцев, так как вся связь между компьютерами только по Ethernet. Серверы запитаны от ИБП. К одному из серверов подключён монитор, выводящий кой какой мониторинг.

К этом подключается рабочий ноутбук — Dell Latitude 3470: довольно дешёвый, с вполне сносными характеристиками (Intel i5 на архитектуре SkyLake, 8 GB RAM, 120 GB Kingston SSD). Так как работа за самим ноутбуком (его монитором и клавиатурой) довольно редка, то претензий к качеству экрана, клавиатуры и тачпада нет никаких (любое дерьмо сгодится). Обклеен наклейками: Bradi Cerebri Ectomia, GNU, FSF, EFF, FSFE тематика — с ними работает субъективно получше. К нему подключён USB хаб на четыре порта, но, к сожалению, его не видно за монитором. Full HD 27" Монитор подключается по HDMI (в ноутбуке нет DisplayPort) и крепится на кронштейне с газпатроном — легко сделать повыше/пониже, если хочется работать стоя. Обязательно наличие Beastie — BSD системы без него... я даже не пробовал как они без него работают, ибо сомнения.

Основной элемент без которого я бы вообще не рискнул работать — тактильная механическая клавиатура. Можно поменять серверы и взять какую-нибудь лажу, можно ноутбук 10 летней давности, можно много чего — но без тактильной клавиатуры жизни нет, в принципе, вообще. Так как всё программирование проходит в редакторе, вся почта проходит в редакторе, даже набор формочек в броузере проходит в редакторе... то интерфейс между мной и редактором должен быть первостепенной важности. В данном случае это Filco Majestouch 2 с MX Blue переключателями. Абсолютно никаких к ней нареканий. Справа от неё трэкбол Kensington Expert — 4 больших полноценных кнопки, большой с хорошей инерцией шарик и колесо прокрутки вокруг него.

Работа немыслима без хорошей музыки в ушах. Asus Essence One MkII USB звуковая карта, Beyerdynamic A1 усилитель и Beyerdynamic DT990 Pro наушники — идеально под это подходят. В данный момент ноутбук ещё и заряжает сотовый телефон: OpenPhoenux (GTA4), служащий на ура уже много лет. Всё это размещается на столе Ergostol Duo — его высота может регулироваться электрическим приводом, пуль управления которого рядом с сотовым телефоном. Можно буквально все выходные провести в стоячем положении за ним. Но пришлось приобрести кронштейн для монитора — в сидячем и стоячем положении у него должна быть разная высота.

Что касается ПО, то на всех серверах и ноутбуке или HardenedBSD (в том числе в виртуалках) или FreeBSD. Все файловые системы это только ZFS (ну кроме флешек которые нужно сувать в чуждые ОС). Самое важное и ценное с точки зрения конфиденциальности расположено на зашифрованных GELI разделах: AES-XTS режим, но без явной аутентификации, ибо, так как внутри раздела ZFS, то изменить данные не получится, не нарушив целостности ФС. Трафик между серверами шифруется IPsec-ом, между ноутбуком GoVPN-ом. На шлюзе в качестве firewall: ipfw и ядерный встроенный в него NAT (к сожалению приходится иметь дело с IPv4). Касательно серверного ПО не буду вдаваться в подробности.

На ноутбуке в качестве оконного менеджера — DWM. Терминал — st. Шрифты — Inconsolata LGC. Почти всё автоматически запускается под Tmux — несколько буферов обмена, scrollback буфер с большой историей и возможностью поиска, табы, скриптование. БОльшую часть времени провожу в Vim редакторе. Почта читается в Mutt. В качестве IRC клиента — irssi, Jabber/XMPP — Bitlbee, Tox — Toxic. RSS/Atom новости сыпятся в почту через rss2email Python программу, хотя когда-то очень любит Newsbeuter. Музыка слушается Cmus-ом. На одном из серверов мультимедиа библиотека, доступ к которой идёт через NFS. На одном из серверов запущен почтовый — почта сыпется не в mailbox, а в NNCP который сохраняется в своём буфере исходящих сообщений письма для ноутбука. Когда он подключается к серверам, то забирает/отправляет всё что накопилось. Если нужно сбросить на серверы бэкапы или какие-то данные для хранения, то, опять же, все они отправляются в NNCP набор утилит чтобы fire-and-forget-ом пересылать большие объёмы данных когда появляется связанность машин.

>>> Просмотр (1296x774, 144 Kb)

 ,

stargrave
()