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 ()

А еще на хайку есть Instead с квантовыми котами и более чем 200 другими играми.

Irremann ()

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

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

Возможно, вы имели в виду GNU Hurd?

Именно. Не правильно выразился.

Но полезность у него пока примерно на уровне ReactOS

Я понял. Жаль. Хотелось бы опробовать на десктопе.

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

Можно пока более или менее успешно пробовать на виртуалке. Там — работает.

А на реальном железе ОС без полноценной USB (и скорее всего, без поддержки современных сетевых карт, хотя в этом пункте могу врать, уже не помню) пробовать реально тоскливо. Любой драйвер или пакет дозатащить в систему — целая проблема. Что с хурдом, что с реактосом.

Но лично мне хотелось бы увидеть доделанный хурд. Шибко любопытно сравнить поведение микроядро vs монолит (GNU/Hurd vs. GNU/Linux) при примерно одинаковом юзерспейсном обвесе.

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

Где ты была в 1999м году? Там же в каждой бумажной журналке расписывалось какая она быстрая и многопоточная, написанная босыми погроммистами самого высокого класса просветления! даже вот с Ходу какой-то Жан Луи Гарсиа вспоминается.

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

в 99-м я закончила Универ и поступила на первую работу. но я не читаю журналов. наверное, поэтому и не была в курсе такой просветлённой технологии :)

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

Как я понимаю, в ОС-ях на Hurd и Linux отличия только в ядре? И при желании можно относительно безболезненно заменить на одной ОС ядро и при этом работоспособность не пострадает, если на Hurd есть аппаратная поддержка девайсов?

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

Да ну, там был хайп, этого босяка с улыбочкой попихивали везде на страничках. Хотя фиг знает, в каком году случился обзор, но скорее всего на стыке веков. Здесь было КО из самых доступных перепечаток из интернетов :)

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

Как я понимаю, в ОС-ях на Hurd и Linux отличия только в ядре?

Собственно, Hurd и Linux — это и есть ядра.

И при желании можно относительно безболезненно заменить на одной ОС ядро и при этом работоспособность не пострадает, если на Hurd есть аппаратная поддержка девайсов?

Ну собственно, дебиановцы так и делали, есть же Debian GNU Hurd. Но вот последнее «если» пока практическое применение этого тезиса сводит почти на нет.

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

В 2000 году случайно в ларьке купил диск с BeOS 5. Встала из-каропки на пентиум 3 - один раз перезагрузил комп. Был в шоке .... ибо винда/ фря 4.7 достали своей установкой дров/перезагрузками и настройкой иксов - влюбился в BeOS моментально.

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

Раньше в Haiku был порт Firefox 2.0.0.x

Потому что порт GTK+1 был для Haiku. А вот портом GTK+2 и GTK+3 так никто и не занялся. Вот тут с Broadway GTK+’шным экспериментировали недавно, может чего и получится в итоге.

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

А еще на хайку есть Instead с квантовыми котами и более чем 200 другими играми.

Да, разработчик INSTEAD @gloomy не так давно тоже заинтересовался этой операционной системой и актуализировал порт INSTEAD.

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

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

Здесь авторы решили продолжить то, что уже было реализовано в BeOS (которая вышла примерно тогда же, когда и Linux). Принципиальных отличий довольно много, в частности интересная оконная система из коробки.

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

а сколько сейчас есть мморпг, которые работают на гайке?

Не играю в MMORPG, но в портах есть клиент для игры Evol Online – ManaPlus.

интересно, запустится ли ультима Вышел открытый клиент Ultima Online OrionUO на Linux/MacOS

Думаю запустится без особых проблем. Будет время – попробую собрать её для Haiku, если кто раньше меня это не сделает.

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

ну, оконные системы меня не интересуют. а прямо искаропки даже напрягают. я всё-таки считаю, что все оболочки должны быть отдельно от системы.

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

Система модульная - изначально. Заменить дефолтный Tracker на свой - не проблем, например, Г.Троеглазов написал для BeOS свой шикарный NaviTracker

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

Там же в каждой бумажной журналке расписывалось какая она быстрая и многопоточная

Да, при этом ещё кивали на linux, что там всё через одно место и годами не могут всей толпой завести нормальные ШГ, в отличие от сабжа. Ванговали что linux таки сдохнет. В итоге сдохла BeOS и все те журналы. Базар победил Собор.

no-such-file ★★★★★ ()
Последнее исправление: no-such-file (всего исправлений: 1)
Ответ на: комментарий от no-such-file

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

RTP ★★★★★ ()

Посмотрел статью на Хабре. Скриншоты подкупают своей аккуратностью и самобытностью (в хорошем смысле слова).

Глядя на такие проекты понимаешь, что всякие там Linux (при всех их некоторых достоинствах) - давно «зажрались», не отличаясь, в этом смысле, от какого-нибудь Микрософта.

С учётом того, что «Linux на десктопе», как концепция, даже многими линуксойдами признан провалившимся, возможно, что на десктопах у Haiku шансы очень даже есть. В ограниченной нише, но тем не менее.

Deleted ()
Последнее исправление: myLogin (всего исправлений: 2)
Ответ на: комментарий от Deleted

Тем не менее, если не только хвалить, но и ругать:

Иконки по-прежнему* выглядят грязновато-пластилиновыми. Примеры чётких иконок, по стилю близких Haiku - можно увидеть (например) в старых версиях Windows: 95, 98.

* Слово «по-прежнему» здесь означает что в Linux и многих других открытых проектах эта проблема тоже давно есть.

Deleted ()
Последнее исправление: myLogin (всего исправлений: 1)
Ответ на: комментарий от Deleted

https://keybase.pub/korli/haiku.image.xz test image x86_64/x86/x86_gcc2

Korli продолжил работу над поддержкой 32-битного слоя совместимости для платформы Haiku x86_64. На сегодняшний день добавлена поддержка большинства binary-loading, commpage, signals и системных изменений syscall. Однако, предстоит внести еще множество изменений для исправления индивидуальных системных вызовов, а также приложений в 32-битном режиме.

beos ★★ ()

Герасим Троеглазов обновил Haiku-клиент мессенджера Telegram до актуальной версии 1.5.8 Скачать можно тут https://t.me/Haiku_mus_RU_chat/1140

beos ★★ ()

Внезапно Ш не Г.

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