LINUX.ORG.RU

Есть ли жизнь на Haiku?

 , , , ,


6

4

Сперва я хотел бы поздравить всех пользователей ЛОРа с наступающим Новым Годом. Счастливых и весёлых вам выходных в 2019 году!

Осенью из новости на Linux.org.ru я узнал о выходе бета-версии операционной системы Haiku и решил проверить, можно ли использовать её для каких-то своих повседневных нужд обычному рядовому линуксоиду.

Джентльменский набор приложений

Первым делом меня волновал вопрос того, что же предлагает эта операционная система разработчику в плане поддержки компиляторов языков программирования C и C++. В этом плане всё оказалось более чем неплохо. Например, в качестве основного системного компилятора используется GCC 7.3.0, кроме того в репозиториях доступен практически bleeding edge: Clang/LLVM 7.0.1, я просто установил его и смог скомпилировать код со всякими там -std=c++2a, что меня очень обрадовало. Обычно в альтернативных системах устаревший софт и, особенно, компиляторы. В репозитории есть свежий Qt 5 и KDE’шный фреймворк-довесок к нему: KF5. Boost и прочий фарш имеется тоже.

Ещё в репозитории есть Vim 8.0.1230 и Emacs 26.1, куда же сегодня без них. Я часто использую Vim, но не слежу за его версиями, поэтому не знаю, насколько старый он или новый. Это такая вещь, которую поставил и она просто работает. Привычный мне мой .vimrc подтянулся без каких-либо особых проблем, хотя, стоит отметить, что иногда при редактировании больших C/C++-файлов я замечал некоторые тормоза, которые исчезали при выключении подсветки кода. Не знаю, но возможно это было как-то связано с тем, что Haiku была запущена в виртуалке. Есть некоторые распространённые плагины, вроде vifm. Но меня устраивает и классический Vim, без сторонних расширений функциональности.

Доступен Git одной из самых последних версий. Каких-либо проблем при достаточно активной работе с ним, я не обнаружил. Хотя казалось бы, на BFS (BeFS) может что-то и всплыть.

Терминальное приложение Terminal весьма удобное. Имеются вкладки, подсветка ссылок, вставка выделенного текста по нажатию на правую клавишу мыши, поддерживается цвет. Очень удобная фича поиска – нажимаешь Ctrl+F, вводишь искомый текст и он подсвечивается в терминале.

Файловый менеджер Tracker показался мне вполне обычным. Каких-либо звёзд с неба он не хватает. Разве что, очень тесно взаимодействует с различными системными приложениями. Например, встроенный почтовик хранит письма как файлы в файловом менеджере. И открывая эти файлы можно читать почту, отвечать на неё. Интересный подход. Ещё в файловом менеджере имеется киллер-фича: фильтрация вывода по названию. Открываем каталог с кучей файлов, начинаем набирать имя – всё что не подходит под эту маску, скрывается. Из файлового менеджера можно открыть терминал и распаковать/запаковать архив или системный пакет. Стандартно, удобно, то к чему все привыкли.

IDE и редакторы кода с графическим интерфейсом пользователя

Что меня несказанно обрадовало, так это то, что в репозитории имеется последняя версия Qt Creator, которая парсит код с помощью LibClang. Попробовал открыть пару проектов – всё работает как обычно. Иногда, конечно, встречаются некоторые шероховатости, вроде того, что внезапно перестают открываться аннотированные ссылки по нажатию на Ctrl, но эта проблема не является такой уж критичной для меня. Тем более после переоткрытия файла она пропадает. Помимо этого в репозитории имеется KDevelop, но я им не пользуюсь и сказать что-либо про качество его работы не могу.

На Java, которая пока доступна только для x86 (32-битной) версии Haiku, доступны такие IDE как NetBeans и IntelliJ IDEA в своей Community версии. Запускаются, работают, пару моих Pet-проектов открывают. Насколько хорошо – не в курсе, не слишком активно использую эти IDE и особо не копался.

А вот про эксклюзивные проекты было бы интересно рассказать. Первым является Paladin, который, вы не поверите, реализует нечто подобное UNIX-way в графическом интерфейсе пользователя. Это приложение представляет из себя фрейм, который крепится сбоку к вашему любимому редактору текста и взаимодействует с ним. Снизу можно прикрепить, например, терминал. Помните в нулевых раньше были такие сайты-фреймы, которые представляли из себя панель справа, а сам контент брали из других мест? Здесь что-то похожее.

Кстати, о продвинутых текстовых редакторах. Первый называется просто Pe и доступен в дистрибутиве Haiku сразу после установки. Он напоминает чем-то Gedit или Kate в Linux-дистрибутивах, как своими целями, так и функциональностью. Из интересного – в нём имеется поддержка подсветки специфичных сущностей из Haiku API. Ещё имеется редактор Koder, доступный в репозиториях, который напоминает собой Notepad++, да и базируется он тоже на основе Scintilla. Koder при открытии нового файла открывает новое окно и добавлет это окно во вкладку к существующему. Интересная и удобная возможность тесной интеграции стороннего приложения в систему.

Некоторые особенности

Пару слов об оконной системе в Haiku, которая, на мой взгляд, весьма удобная и практичная. Во-первых, табы, которые позволяют управлять окнами приложений таким же образом, каким мы управляем вкладками в современных Web-браузерах. У нас в Linux-дистрибутивах имеются подобные реализации в том же KWin (уже выпилили) и, вроде как, Fluxbox. Но всё это работает из рук вон плохо, видно что не хватает удобной интеграции в саму систему, то, что имеется в Haiku. Я нахожу группировку однотипных приложений во вкладки очень удобной. Во-вторых, в Haiku имеется тайлинг из коробки, благодаря которому окна различных программ можно удобно скреплять в некие группы, и всё это вместе потом перемещать по экрану. В-третьих, контексты некоторых окошек можно перекидывать в другие окна, например, файловые диалоги. В-четвёртых имеются специальные приложения-репликанты, окна которых можно разместить на рабочем столе. Чем-то это напоминает концепцию виджетов, только таких, которые глубоко интегрированы в систему. Ваше приложение может реализовать как окно самого себя, так и дополнительный виджет-репликант для размещения на рабочем столе (кстати их можно сделать несколько). Наиболее близкая к этому аналогия имеется, внезапно, в Android.

Есть трей, который активно используется некоторыми приложениями, вроде того же клиента Telegram. Рабочий стол выглядит достаточно просто. Имеются программы для быстрого запуска приложений и всякие панельки и докбары. Но мне хватило и стандартных возможностей.

Вся система, в том числе и её базовый образ, представляет из себя пакеты формата HPKG, которые легко могут быть обновлены через репозиторий. Отличие от Linux здесь в том, что содержимое этих пакетов не «устанавливается» в систему, а монтируется в ReadOnly-директории при её запуске и размонтируется обратно после выключения. Профит: моментальная «установка» скачанных пакетов и поддержка различных состояний системы. При этом юзеры могут заменить системные компоненты просто положив или «установив» пакеты (даже драйверы) в специальную домашнюю директорию. Это можно сделать и через пакетный менеджер. Как и в случае с Linux-дистрибутивами имеется возможность управлять пакетной базой как через консольку, так и через GUI с помощью программы HaikuDepot, представляющей из себя некий аналог магазина приложений. В нём можно оставлять комментарии и оценки.

Недостатки

Зайду сразу с козырей и расскажу про те вещи, которых мне в Haiku действительно нехватает.

Во-первых: нет популярных браузеров, таких как Firefox или Chromium. Их портов нет отчасти из-за отсутствия GTK+3, отчасти из-за других сложностей. В данный момент доступны браузеры, которые используют движок WebKit. Основные из них это Otter Browser, QupZilla и идущий в комплекте WebPositive, который представляет собой то, что представляет собой старый Safari. То бишь простую обвязку WebKit’а стандартными интерфейсными API. Из положительного: в данный момент времени разработчики допиливают порт QtWebEngine, что должно немного облегчить ситуацию с браузерами.

Во-вторых: нет 3D-ускорения, аппаратной поддержки OpenGL в видеодрайверах. Сейчас на официальном форуме идёт затяжной холивар на эту тему между разработчиками Haiku, пользователями и тем кому не всё равно, что в интернете кто-то неправ. Кто знает, может этот спор и выльется во что-то продуктивное. Пока весь OpenGL работает через LLVMPipe на CPU. Но стоит заметить, вполне неплохо работает, особенно старый OpenGL < 2.0

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

Дополнительная информация и выводы

Стоит ли оно того? Моё мнение – попробовать однозначно стоит. Установить хотя бы в виртуалку, вместо очередного Linux-дистрибутива с нескучными обоями. Вы действительно сможете получить какой-то новый и интересный опыт.

Я, например, установил Haiku на свой старый-старый ноутбук. На удивление заработал и Wi-Fi, и сеть, и звук. Но у меня и с Linux’ом на этом ноуте не было никаких проблем. Так что если имеются старые ноутбуки или даже нетбуки, которые вам жалко выкидывать и отправлять в ящик стола или на пыльные полки, дерзайте и экспериментируйте. Популярный «легковесный» дистрибутив Lubuntu, который часто ставили на подобные машинки, сегодня дропает поддержку 32-бит (x86), а Haiku всё ещё поддерживает эту архитектуру. И, судя по всему, поддерживать будет ещё очень долго.

Если вас заинтересовала эта небольшая заметка, то на Хабре я написал большую статью про свой опыт портирования различных приложений (в основном игр) и доработку некоторых существующих для этой операционной системы. Оставляю здесь ссылку для страждущих, только всякой околотехнической информации там реально много, поэтому готовьтесь, что чтение займёт у вас прилично времени.

https://habr.com/post/434690/

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

Встретимся в 2019 году! :)

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

★★★★★

Проверено: Shaman007 ()

Спасибо. Прочёл тоже вашу статью на hb.

UNiTE ★★★★★ ()

Могу ошибаться, но я так понял, гайка для тех, кто может и хочет «на лету» модифицировать ОС допиливая её для себя, и аналогию можно провести с Emacs, в котором по-сути можно «жить» даже не переключаясь на другие приложения, самостоятельно реализуя всё на встроенном ЯП. Для энтузиастов среди энтузиастов.

Фича с окнами-табами ещё в TWM была, а в FVWM (исторически вторым по счёту WM) реализована уже в виде плагина. Трекер да, меметичен для этой ОС, впервые таким образом реализован именно в ней, когда оно ещё называлось BeOS.

В остальном, ОС со своими приблудами. Линукс всё равно лучше, хотя бы просто за счёт бОльшего комунити.

Spoofing ★★★★★ ()
Последнее исправление: Spoofing (всего исправлений: 1)

Когда в ней появится аппаратное ускорение графики?

Vsevolod-linuxoid ★★★★★ ()
Ответ на: комментарий от Vsevolod-linuxoid

Холивар на тему 3D идёт здесь: https://discuss.haiku-os.org/t/what-about-bounty-3d-acceleration-bounty/7943

Пока всё упирается в причину отсутствия разработчиков, которые входят в пересечение трёх множеств:

  • Тех людей, которые знакомы с кернел-кодингом под Haiku и её внутренней «кухней».
  • Тех людей, которые имеют опыт написания видеодрайверов или опыт их портирования.
  • Тех людей, у которых имеется на это свободное время.
EXL ★★★★★ ()

Vim 8.0.1230. Я часто использую Vim, но не слежу за его версиями, поэтому не знаю, насколько старый он или новый.

В Арче версия Vim 8.1.0570-1.

Odalist ★★★★★ ()

Haiku - самая проработанная ОС после святой троицы. По поводу PM могу сказать, что он очень напоминает подход GoboLinux, а также имеются прямые аналогии с Nix/Guix. Я бы не сказал, что есть много преимуществ у гайки по сравнению с этими пакетными менеджерами (разве что у гайковского есть GUI, но это не принципиальное отличие). Отсутствие 3D, а так же принципиальная зацикленность на показавшемся мне уродливым способе управления окнами отталкивает от системы, если честно. Тем не менее, желаю системе успехов, ибо ребята - молодцы и делают правильное дело.

balsoft ()

Ссылка на хабр предлагает какую-то похабщину вместо статьи EXL.

a1batross ★★★★★ ()

Порт вангеров? Как это порт, их что, опенсорсили?

Bruce_Lee ★★ ()
Ответ на: комментарий от Spoofing

Для энтузиастов среди энтузиастов.

Для энтузиастов энтузиазма ради энтузиазма.

Partisan ()

Спасибо!

Годный контент требует ничилавечиских усилий на его создание! А тут целая статья! 👍👍👍👍

RTP ★★★★★ ()
Последнее исправление: RTP (всего исправлений: 1)

EXL, ты крут!

А ещё на haiku даже rust(1.28) есть, так что после портирования gtk3 firefox скорее всего заработает.

И 32 битная система поддерживает PAE, образ VirtualBox увидел 8192 мегабайта оперативной памяти.

fsb4000 ()
Последнее исправление: fsb4000 (всего исправлений: 1)

EXL, не хотели бы вы запилить обзор на какой-то GNU дистрибутив, тот же Guix или gNewSense (на базе Debian), или Parabola (на базе Arch)?! Как по мне, если с Linux что-то случится, то GNU займёт его место.

CryNet ★★ ()
Ответ на: комментарий от CryNet

GNU Hurd, по сути единственное ядро, разрабатывающееся в проекте GNU, до сих пор не умеет в USB. В 2019 (почти). Ну что тут сказать - это было бы смешно, если бы не было так грустно.

balsoft ()
Ответ на: комментарий от CryNet

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

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 1)

Стоит ли оно того? Моё мнение – попробовать однозначно стоит. Установить хотя бы в виртуалку, вместо очередного Linux-дистрибутива с нескучными обоями. Вы действительно сможете получить какой-то новый и интересный опыт.

Зачем нужен такой опыт? В чём кайф пробовать разные маргинальные оси?

Заметка интересная

deadplace ()

Спасибо за материал.

Deleted ()

выглядит как то уныло. да и кому оно нужно однопользовательское.

iluha16 ()
Ответ на: комментарий от EXL

Было бы интересно. Жаль, конечно, что пока всё не очень у них

CryNet ★★ ()

Читал-читал ;) Лови «лайк» за «повествование с картинками» ;)

Особенно приятно, что расширяешь кругозор сообщества на ЛОРе, да...

Ждём-с новую историю о Plan 9.
И спасибо за поздравления.

P.S. ПозЫрил я статью на Хабре, так и надо было «запилить» на ЛОРе.
Тама был коммент и ты на него ааатвечал:

Хотя, скорее всего такого тоже не допустят. Насколько я знаю, в современных UNIX-like операционных системах максимальная длина %username% всего 32 символа.

Даапалняю: первый взлом linux системы так и происходил. При вводе педалили >256 и login падал с ошибкой, давая рута.

Deleted ()
Последнее исправление: kaban_lyalya (всего исправлений: 1)

Спасибо — и ха Haiku, и за развёрнутую публикацию. Статью на Хабре прочитаю непременно.

Bass ★★★ ()
Ответ на: комментарий от CryNet

если с Linux что-то случится, то GNU займёт его место

ты не поверишь, но всё что ты назвал, тоже линукс

eternal_sorrow ★★★★★ ()
Ответ на: комментарий от iluha16

кому то нужно. у меня на ноуте и линукс по факту в однопользовательском режиме используется

eternal_sorrow ★★★★★ ()
Ответ на: комментарий от CryNet

то GNU займёт его место.

Тот же Linux. Лучше GNU-like, т.е. FreeBSD.

Odalist ★★★★★ ()

На днях почитал статью на хабре - впечатляющие достижения для нескольких месяцев знакомства с системой. Сейчас подумываю накатить на 701 ежика. Ты крут, так держать.

liss21 ★★ ()
Ответ на: комментарий от Odalist

Тот же Linux

А аппаратная поддержка современных девайсов есть?

FreeBSD

Тут же плоховато с аппаратной поддержкой вроде? А ещё версии пакетов староватые?

CryNet ★★ ()
Ответ на: комментарий от CryNet

Guix, gNewSense, Parabola на Hurd'e? вот уж вряд ли. на linux-libre - да, но не на Hurd'е.

eternal_sorrow ★★★★★ ()
Ответ на: комментарий от eternal_sorrow

Guix, gNewSense, Parabola на Hurd'e?

Я не знаю. Они же пилят(?) Hurd. Живо они или нет?!

CryNet ★★ ()
Ответ на: комментарий от CryNet

Скорее мертво, чем живо, судя по тому, что я слышал. Поддержки железа почти нет.

eternal_sorrow ★★★★★ ()
Ответ на: комментарий от eternal_sorrow

Плохо. Я почему-то думал, что оно живехонько развивается параллельно.

CryNet ★★ ()
Ответ на: комментарий от eternal_sorrow

не думаю, в linuxе всегда есть несколько пользователей, к примеру серверы работают не под рутом а под своим пользователем. когда же всё это запускается под рутом это очень плохо для безопасности всей системы. однопользовательские системы давно нигде практически не используется. не знаю кому и зачем этот унылый велосипед haiku нужен.

iluha16 ()

Интерфейс жутко устаревший.

Да и в целом это шаг назад от линуксов с бздями, где есть огромный выбор окружений.

nomathere ()
Ответ на: комментарий от iluha16

это да, но в гипотетической однопользовательской системе, в которой тем не менее предусмотрены механизмы безопасности (бред конечно, понимаю), можно такие сервисы как то ограничить в возможностях (что то типа системы capabilities которая присутствует и в линуксе).

eternal_sorrow ★★★★★ ()
Ответ на: комментарий от eternal_sorrow

и всё таки мне не понятны мотивы использования данной системы. никаких уникальных фич не выявлено, одни недостатки.

iluha16 ()
Ответ на: комментарий от nomathere

Интерфейс жутко устаревший.

Да и в целом это шаг назад от линуксов с бздями, где есть огромный выбор окружений.

действительно унылый какой то гуй. а портировать никак нельзя хотя бы dwm?

iluha16 ()
Ответ на: комментарий от iluha16

ну так никого и не заставляют её использовать. я например не буду. как и большинство отписавшихся в этом треде

eternal_sorrow ★★★★★ ()

Классная статья на хабре. Очень приятная операционка, жаль только она однопользовательская. Это ставит её на один уровень с ReactOS касаемо применимости в реальной жизни.

jekader ★★★★ ()
Ответ на: комментарий от jekader

Фиг его знает - кому в наше время нужна многопользовательность на личном ноуте...

beos ★★ ()
Ответ на: комментарий от iluha16

Гуй уникальный... эксклюзивный. Удобство из каропки зашкаливает.

beos ★★ ()
Ответ на: комментарий от deadplace

В чём кайф пробовать разные маргинальные оси?

А в чем был кайф пробовать линукс лет 10-15 назад? Тогда с ним все было куда печальнее, чем с гайкой сейчас. И дров на видео нормальных тоже не было, всю эту роскошь завезли относительно недавно.

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

wolph ★★ ()
Ответ на: комментарий от Spoofing

Могу ошибаться, но я так понял, гайка для тех, кто может и хочет «на лету» модифицировать ОС допиливая её для себя, и аналогию можно провести с Emacs, в котором по-сути можно «жить» даже не переключаясь на другие приложения, самостоятельно реализуя всё на встроенном ЯП. Для энтузиастов среди энтузиастов.

А чем линукс для этого не подходит?

hobbit ★★★★★ ()
Ответ на: комментарий от wolph

15 лет назад блоб от нвидии, имхо, уже был и прекрасно работал. 10 лет назад - точно работал, я в 2007м гонял под линуксом родной официальный клиент SecondLife.

Я не против хайку, если что. Даже наоборот, обеими руками за то, чтобы была альтернатива.

hobbit ★★★★★ ()
Ответ на: комментарий от CryNet

Как по мне, если с Linux что-то случится, то GNU займёт его место.

Как автомобиль может занять место двигателя? Возможно, вы имели в виду GNU Hurd? Если да — ядро действительно очень интересное, в первую очередь с исследовательской точки зрения. Но полезность у него пока примерно на уровне ReactOS.

hobbit ★★★★★ ()
Ответ на: комментарий от wolph

А гайка до сих пор с беосью совместима

И что?

А в чем был кайф пробовать линукс лет 10-15 назад?

Другие оси были не сильно лучше

deadplace ()
Ответ на: комментарий от fsb4000

А ещё на haiku даже rust(1.28) есть, так что после портирования gtk3 firefox скорее всего заработает.

FYI: Раньше в Haiku был порт Firefox 2.0.0.x, но порт Firefox 3 не появился из-за того что браузер начал использовать Cairo, который не был портирован в Haiku

X-Pilot ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)