UNIX в кедах или звериный оскал десктопного BSD

  • Автор:

freebsd-desktop-000.pngНе столь давно один из коллег упрекнул нас, что мы совсем не уделяем внимания системам на основе BSD, в том числе их настольному применению, указывая на перспективность использования именно BSD, а не Linux, как основы российских ОС. В качестве аргументов было использование BSD в таких системах как MacOS и Orbis OS (PlayStation 4). А так как c BSD мы не работали давно и конструктивно возразить не могли, то решили по мере появления свободного времени самостоятельно оценить положение дел в этом семействе и пригодность BSD-систем к работе на десктопе.

Когда-то давно, когда Linux был еще "молодой и перспективной" системой, FreeBSD была в своем роде "старшей сестрой", представляя на тот момент, несомненно, более зрелое и законченное решение. Она широко использовалась на серверах и в коммерческих разработках, а BSD-админы поглядывали на своих Linux-коллег свысока.

Сейчас BSD больше проходит по разряду экзотики или используется в специализированных и нишевых решениях, практически полностью уступив свои позиции Linux. Что же произошло? Здесь уместно процитировать В.И. Ленина: "Страшно далеки они от народа", это про разработчиков. В свое время они сами сравнивали BSD с "величественным собором", который возводит небольшая группа архитекторов, в то время как Linux, по их словам, представлял некий "караван-сарай" с "базарным" стилем разработки.

Действительно, созданием BSD занималась узкая группа специалистов из университета Беркли, в то время как принять участие в разработке Linux мог любой. Еще одну злую шутку сыграла лицензия, которая позволяла просто брать и закрывать код, ничего не возвращая сообществу. В итоге в Беркли проспали приход многоядерности и многопоточности, виртуализацию и еще множество современных технологий. Что-то удалось наверстать, но с той же виртуализацией дела до сих пор обстоят очень и очень плохо.

Что касается применения BSD в коммерческих разработках, то в той же MacOS от BSD используется очень немного, а то что есть - скрыто глубоко под капотом, во всяком случае к настольной части этой системы BSD имеет опосредованное отношение. Использование BSD-кода в JunOS (сетевое оборудование Juniper), ONTAP (ОС для систем хранения NetApp) и той же PlayStation 4 обусловлено прежде всего лицензией и сложно сказать сколько там BSD, а сколько собственных разработок, все эти системы закрытые и имеют специализированное назначение.

Из открытых систем определенную популярность имеют pfSense (специализированный дистрибутив для шлюзов) и FreeNAS (ОС для сетевого хранилища), в остальном же перспективы BSD достаточно туманны.

FreeBSD 12

Начинать, так с первоисточника. Скажем честно, мы не касались FreeBSD уже много лет, поэтому было даже интересно, что изменилось с тех пор и в какую сторону. Мы скачали актуальную на текущий момент версию 12 и приступили к установке.

freebsd-desktop-001.pngОдной из отличительных фишек BSD была псевдографика на начальном экране, с этим все в порядке, традиции свято блюдут до сих пор, пожалуй, это единственное место, где консерватизм разработчиков оправдан.

freebsd-desktop-002.pngДальше нас встречает установщик, который не менялся уже очень и очень много лет, по сравнению с ним текстовые инсталляторы Linux кажутся верхом совершенства и значительно превосходят его по удобству. Скажем больше, если вы никогда не устанавливали FreeBSD, то вряд ли вам удастся сделать это с первого раза, логика здесь своя, местами доступная только "посвященным".

freebsd-desktop-003.pngИ что нам тут выбрать? Да пес его знает... Оставим по умолчанию... Вот оно, суровое очарование настоящего Unix. В Linux этот этап давно прошли, сделав процесс выбора состава дистрибутива более понятным и прозрачным.

freebsd-desktop-004.pngЧто действительно радует - так это возможность автоматической разметки диска, потому как это был еще один квест для начинающих с весьма сомнительным результатом.

freebsd-desktop-005.pngПроцесс пошел, можем пока сходить за кофе или чем покрепче, потому как все это не для слабых духом.

freebsd-desktop-006.pngДля ввода пароля root или создания нового пользователя нас выбрасывает в чистую консоль. Такая вот дружелюбность в 2019 году.

freebsd-desktop-007.pngЭто всё? Или будет продолжение? Нет, не будет, если нужно что-то настроить, то лучше сделать это сейчас, самому, руками. Потому что потом все тоже самое придется делать также руками, но уже в консоли незнакомой системы.

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

freebsd-desktop-008.pngВ качестве редактора по умолчанию установлен vi, что добавляет происходящему "прелести". В общем чужих здесь не ждут, и чтобы дойти до конца нужно иметь достаточно сильную мотивацию, одного любопытства будет явно недостаточно.

freebsd-desktop-009.pngНаконец все трудности позади и нас встречает графическая оболочка. Выглядит на первый взгляд неплохо, но это заслуга не BSD, а разработчиков Gnome. Набор софта - минимален, оно и понятно, никаких настольных метапакетов здесь нет, просили Gnome 3 с базовым набором утилит - получите и распишитесь.

freebsd-desktop-010.pngНастроить систему? Ну попробуйте, только снять снапшот не забудьте, потому как повторить второй раз процесс установки решится не каждый. И пусть вас не обманывает более-менее современный вид системы, в реальности вы получите весь набор "детских болезней" настольного Linux 10-15 летней давности. Полноценной русификации нет, точнее есть, но только через консоль и старательную правку конфигурационных файлов.

Какого-либо подобия графической оболочки пакетного менеджера нет. Хорошо если вы знаете имя пакета, который вам нужен, найти по описанию или просто просмотреть список пакетов, скажем для работы с видео, здесь не получится. С поддержкой виртуализации тоже все туго. Если любой современный Linux в среде VMWare или VirtualBoх чувствует себя отлично, позволяя использовать средства интеграции, аппаратное ускорение графики и прочие радости жизни, то здесь всего этого нет. Увидел все виртуальное железо - и хорошо. Автоматически подогнать экран под размер виртуалки? Нет, не слышали...

freebsd-desktop-011.pngОй, сорри, ну забыли предупредить, что для того, чтобы пользователь мог повысить себе права нужно было руками добавить его в одну группу. Ладно, перезагрузимся в однопользовательский режим и выполним пару команд, делов то...

freebsd-desktop-012.pngА чудеса просто лезут из всех щелей. Хотите правильно установить часовой пояс? Ну попробуйте. А что, хотели MSK (UTC +03) - держите, правда почему-то Москва оказалась в Лондоне, на долготе Гринвичского меридиана. Что? Вы хотите все-таки видеть правильное время? Ну поправьте пару строк в конфиге, ну что вы как маленький...

Хотя если есть стимул, то трудностями не испугать. Должна же система в чем-то раскрыться и показать свои сильные стороны. Может быть в софте? Да нет, с софтом для BSD сейчас туго, спасает в основном только GNU и некоторые проекты из мира Linux, которые можно пересобрать под BSD, не притаскивая попутно половину Linux в нагрузку. Поэтому базовый набор привычного ПО у вас будет, а вот шаг вправо, шаг влево...

freebsd-desktop-013.pngГоворите нравится браузер Опера? Придется как-нибудь без нее, возьмите Firefox или Chromium, все равно ничего другого не завезли. Хотите поработать с 1С? Как бы это помягче. Нет, можно установить пакет linux-base для бинарной совместимости с Linux и жить станет полегче, но зачем, если есть Linux, где есть все тоже самое, но без всех этих тягот и лишений.

Ладно, не все же нам работать, надо и отдыхать, посмотрим, как обстоят дела с мультимедиа.

freebsd-desktop-014.pngЗдесь мы опасливо покосились на календарь, да нет, все верно, на дворе 2019 год, когда любая современная ОС проигрывает все распространенные форматы просто из коробки. Проблему исправил установленный VLC, но сам факт такой вот "поддержки" мультимедиа снова отослал нас лет на десять назад, когда подобные проблемы были нормой для Linux.

Позвольте, скажет иной читатель, но ведь FreeBSD и не позиционирует себя на десктоп. Ну как сказать...

freebsd-desktop-015.pngПро "современную" и "для десктопов", заметьте, не мы написали. Но выводы будем делать немного позже, а пока двинемся дальше.

TrueOS 18.03 (бывшая PC-BSD)

PC-BSD достаточно старый и амбициозный проект по созданию дружелюбного пользовательского BSD-дистрибутива и мы когда-то давно, примерно десять лет назад, делали на него обзор. Но даже тогда система выглядела не лучшим образом на фоне современного ему Linux, хотя настольный Linux десять лет назад страдал множеством "детских болезней" и сильно отличался от современных дистрибутивов. Но если Linux сумел пройти этот путь, то должен же был куда-то дойти и BSD?

В процессе этого пути разработчики видимо решили, что как лодку назовете - так она и поплывет, и сменили название системы на довольно амбициозное и пафосное TrueOS. Также дистрибутив обзавелся собственным легковесным окружением Lumina.

В прошлом году в жизни проекта произошли очередные изменения и TrueOS отказалась от поддержки десктопной версии, превратившись в нисходящий (downstream) форк FreeBSD c поддержкой технологий OpenRC (система инициализации родом из Gentoo) и LibreSSL. Настольное направление перешло в отдельный проект Trident, к которому мы вернемся позже, а пока поглядим к чему пришел проект PC-BSD / TrueOS к моменту кардинального переосмысления собственной деятельности.

Последняя настольная версия TrueOS - 18.03, т.е. чуть менее чем годовалой давности, как и основная LTS версия Ubuntu, поэтому... Мы хотели написать, что можно смело сравнить с актуальными версиями основных дистрибутивов, но не будем этого делать. Почему - поймете чуть позже.

TrueOS-desktop-001.png

Традиционная псевдографика, это классика и визитная карточка BSD-систем.

TrueOS-desktop-002.pngА вот и инсталлятор, выглядит пока неплохо, да, есть к чему придраться в плане визуального оформления, но это не главное, задача инсталлятора - провести нас через все этапы установки с минимальными затруднениями. Со своей задачей он справляется.

TrueOS-desktop-003.pngПо умолчанию используется ZFS и автоматическая разметка диска, уже неплохо.

TrueOS-desktop-004.pngВ остальном все ожидаемо и скучно. Запутаться в процессе решительно негде и есть надежда, что в этот раз BSD повернется к пользователю все-таки лицом.

TrueOS-desktop-005.pngНо уже на этапе входа в систему нас начали терзать смутные сомнения. Современные шрифты и сглаживание? Аккуратная графика? То, что предстало нашему взору более похоже на самодеятельность уровня сельского клуба, а не ОС с 12-летней историей.

TrueOS-desktop-006.pngЭто что? Где все элементы управления? Минимализм, конечно, сегодня в моде, но не до такой же степени.

TrueOS-desktop-007.pngДа нет, все гораздо проще, ну не умеет система 2018 года автоматически определять размер экрана и масштабироваться, тем более в виртуальной среде (это же надо додуматься, в 2018 и на виртуалку).

TrueOS-desktop-008.pngЭто, если кто-то не понял, собственная среда окружения рабочего стола - Lumina. Блеск и нищета BSD в одном флаконе. Если вернуться на 10 лет назад, то можно сделать выводы, что версия PC-BSD с KDE выглядела гораздо лучше и сразу возникает вопрос, а зачем надо было городить весь этот огород, можно ведь было взять уже готовое окружение, не обязательно тяжелые KDE или Gnome, наоборот, можно что-то легковесное.

Но не все так просто. Современные оболочки разрабатываются сугубо для Linux, что вызывает сложности при портировании из-за зависимостей от таких специфичных Linux-компонент как D-Bus, systemd, hald и прочих. Поэтому разработчики решили делать полностью свою, BSD-оболочку. Что получилось - вы уже видели.

Те десять лет (с момента прошлого обзора PC-BSD), которые Linux шел к пользователю, обрастая по пути современными технологиями, разработчики PC-BSD шли куда-то не туда, да и скорее не шли, а блуждали где-то в трех соснах. На наш взгляд проще было сделать форк уже готовой рабочей среды (Mate, LXDE и т.п.), адаптировать ее к BSD и продолжить развивать, опираясь на прочный фундамент, нежели пытаться сделать что-то свое, явно не имея для этого сил и средств.

Отложим в сторону графическую составляющую и посмотрим на предлагаемый в составе оболочки файловый менеджер, он просто убог и неудобен, но зачем-то к нему прикручен Git. И мы снова ловим себя на мысли, что высказывание Владимира Ильича тут как никогда к месту.

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

TrueOS-desktop-009.pngДальнейшему знакомству с системой нам помешало полное отсутствие доступа к репозиториям, вместе с отказом от десктопной ОС разработчики полностью отказались и от ее поддержки, дистрибутивы настольной системы также недоступны на сайте, единственная возможность получить их сейчас - это торренты.

Trident 19.06

Но дело PC-BSD живет, превратившись ныне в проект Trident, название выбрано тоже достаточно символичное, так как именно трезубцем был вооружен даймон - маскот FreeBSD. Может быть в новом проекте что-то сдвинется с мертвой точки? Посмотрим.

Trident-desktop-001.pngПсевдографика, как всегда, хороша, пожалуй, это единственное к чему не придраться.

Trident-desktop-002.png

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

Trident-desktop-003.png

Разработчики постарались наполнить дистрибутив современными программами и обеспечить хорошую совместимость. Здесь и популярный Телеграмм, и VLC, и поддержка NTFS, также заявлена поддержка гостевых расширений для виртуальных машин.

Trident-desktop-004.pngПроцесс пошел, кроме почти незаметного статус-бара внизу (который уехал за пределы экрана), слева есть текстовый лог, который можно наблюдать во время установки.

Trident-desktop-005.png

В графическом плане мало что изменилось, те же самые ужасные шрифты и неаккуратная графика.

Trident-desktop-006.pngТот же самый кошмарный файловый менеджер. Хотя определенная работа над графической составляющей системы видна невооруженным глазом, но какого-то единого стиля в оформлении нет, больше похоже на то, что разработчики нашли где-то свежих иконок и попытались хоть как-то освежить с их помощью внешний вид. К самой графике тоже много вопросов, чего стоит только символ интернет соединения с вытащенным патч-кордом.

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

Trident-desktop-008.pngПанель управления столь же бедна возможностями, насколько лаконична внешне.

Trident-desktop-009.pngСистемный монитор крайне прост и убог, сравнивать с Linux или Windows аналогами просто не хочется.

TrueOS-desktop-010.pngС графикой в системе просто беда, LibreOffice выглядит так, как будто мы перенеслись к конец 90-х и запущен он в среде Windows 98/2000. Плохо просто все и если на небольших мониторах той поры это еще выглядело приемлемо, то в современных условиях, на HD-разрешениях с высокой плотностью пикселей все графические огрехи, ужасные шрифты и отсутствие сглаживания просто режут глаз. Кто сможет работать каждый день в таких условиях нам непонятно.

Если снова вернуться на десять лет назад и сравнить тот Linux с современным - мы увидим огромный качественный рывок, как в плане технологий, так и в простоте использования. Здесь время словно остановилось, но десять лет назад PC-BSD был вполне современной системой, хоть и уступал конкурентам, сегодня же Trident выглядит откровенно беспомощно.

GhostBSD 19.04

Еще одна настольная система на базе BSD и, пожалуй, самая современная из них, во всяком случае наиболее дружелюбная и проработанная.

GhostBSD-desktop-001.pngКак всегда - псевдографика, все-таки что-то такое в ней есть.

GhostBSD-desktop-002.pngУстановка начинается с текстового режима, в котором предлагается выбрать используемый видеодрайвер, выбор довольно велик, но в нашем случае неплохо справилась и автоматическая конфигурация.

GhostBSD-desktop-003.pngЗатем система загружается в режиме Live-CD, что дает возможность проверить работу на собственном железе без установки и, убедившись, что все будет нормально, продолжить установку в графическом режиме. В качестве рабочего окружения используется Mate и выглядит все действительно неплохо. На этом этапе каких-либо претензий нет, все сделано действительно неплохо.

GhostBSD-desktop-004.pngА это что такое?! Забыли добавить графическую оболочку в автозагрузку? Бывалые линуксоиды, конечно, знают заветное слово, оно даже автоматически подсвечивается если набрать первую букву, но возникает закономерный вопрос - дистрибутив кто-нибудь тестировал? А если тестировал, то, наверное, "не заметил" или решил, что такая "мелочь" не стоит внимания? Для современной системы подобный баг - это весьма серьезный недочет.

GhostBSD-desktop-005.pngВ остальном же GhostBSD - это наиболее проработанный пользовательский дистрибутив, хорошая графика, практически полная локализация из коробки, неплохие шрифты.

GhostBSD-desktop-006.pngРазработчики не стали изобретать велосипед и просто хорошо настроили популярное рабочее окружение, так что, бросив беглый взгляд не сразу и поймешь, что это BSD-система. У нас не возникло проблем ни с документами, ни с мультимедийными файлами и мы даже хотели написать, что все просто замечательно, но тем временем система скачала и установила обновления.

GhostBSD-desktop-007.png

Досадный баг с загрузкой графической оболочки исправили, зато полностью слетела локализация. Настроек в панели управления ожидаемо немного и локализации среди них не числится, хотя если быть честными, то большинство из них относится к рабочей среде Mate, а не самой BSD-системе. Т.е. для чего-то более сложного, чем смена обоев придется все-таки открывать терминал.

GhostBSD-desktop-008.pngА вот центр приложений огорчил, он как будто вынырнул из пучин пятнадцатилетней давности. Описания пакетов нет и вам повезло, если вы точно знаете, что вам нужно. Фактически мы снова (как и во FreeBSD) сталкиваемся с ситуацией, когда что-то выходит за рамки графической оболочки и затрагивает собственные функции BSD, то выглядит это весьма печально, особенно если учесть, что все популярные оболочки заимствуются из Linux.

Хотя в общем GhostBSD весьма неплох, с поправкой на все особенности BSD, конечно. Поэтому если вы все-таки хотите немного приобщиться к настоящему UNIX - то начните с него. Но в целом ничего нового вы не получите, скорее, наоборот, приобретете полный ворох "детских проблем" свойственных Linux десятилетней давности. Кстати, если вы испытываете ностальгию по тем "далеким и светлым" временам, то данный дистрибутив поможет вам переместиться в прошлое без всякой машины времени.

Выводы

А выводы у нас будут печальные, FreeBSD в свое время проиграла гонку с Linux и находится сейчас в позиции догоняющего. У нее нет каких-либо отличительных черт или технологий, которые давали бы конкурентное преимущество, наоборот, сейчас в BSD идет активный импорт Linux-решений (тот же OpenRC). Единственная интересная фишка - ZFS, но и это не родная для BSD технология, а наследство от Sun Solaris, а так как обе системы - это настоящий UNIX, то особых проблем с портированием не возникло. Но сегодня ZFS есть и в Linux, поэтому перспективы и сферы применения BSD выглядят весьма неопределенно. Хотя есть отдельные ниши, где BSD по-прежнему неплоха.

Во всем, что касается настольного применения система отстала лет на десять-пятнадцать. Начиная с того, что нет собственного рабочего окружения (Lumina не в счет), которое бы использовало родные механизмы системы, а не требовало бы импорта Linux-подсистем и заканчивая многочисленными "детскими болезнями", которые в других ОС давно решены.

Можно ли использовать BSD как основу для разработки собственных систем? Наверное можно, но не нужно, потому что вам придется потратить много сил и средств на то, что в Linux уже давно сделано, разве что только вы являетесь искренним фанатом BSD и вопрос рационального расходования ресурсов перед вами не стоит.

Единственный вариант, когда применение BSD оправдано - если вы хотите впоследствии закрыть код, но в современном мире платить за ОС скоро станет столь же непривычно, как платить за браузер. Последние годы все шире распространяется модель SaaS (ПО как услуга) с подписками и микроплатежами. Закрытая ОС в данном контексте просто теряет свой смысл. Что касается специфичных систем для государственного применения, в т.ч. в силовых структурах, то там GPL нисколько не мешает ни коммерческому подходу, ни закрытию доступа к определенным компонентам, включая их исходный код.

Ну и наконец "успешные" применения BSD, скажем в составе PlayStation 4, это лишь исключение, подтверждающее правило. Игровая приставка, как и техника Apple, это четко определенный набор железа в аппаратной части, не предусматривающий серьезную вариативность, поэтому всегда можно скомпилировать систему под целевое железо и получить серьезный прирост производительности, при том, что там будет под капотом, Linux или BSD, в данном контексте неважно. Все равно поверх ядра ОС будет развернута собственная оболочка, которая имеет с родительской системой очень мало общего.

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