Хайку ос: Haiku — Википедия – Установка Haiku и начальная настройка системы / Habr

Содержание

Haiku — Википедия

Haiku — свободная операционная система для персональных компьютеров, первая версия которой нацелена на двоичную совместимость с операционной системой BeOS.

В настоящее время международная группа разработчиков активно трудится над компонентами системы.

В ежемесячном отчёте о деятельности в июне 2018 года, разработчики Haiku портировали LibreOffice в операционную систему[2].

С закрытием разработки операционной системы BeOS и продажей всей её интеллектуальной собственности фирме Palm перед энтузиастами BeOS встала задача дальнейшего развития и существования этой операционной системы вообще. Поскольку система была во многом уникальной и передовой, её сторонники решили, дабы избежать юридических и технических проблем, переписать операционную систему BeOS с нуля, полностью под свободной лицензией, обеспечив максимально возможную двоичную совместимость с последней версией BeOS — 5.0.

Проект был основан в 2002 году Майклом Фипсом. Целью было полностью воссоздать последний официальный релиз BeOS R5.

Изначально проект назывался OpenBeOS (сокращенно OBOS), но позже, во избежание нарушения прав на торговую марку компании Palm, путём голосования было решено переименовать проект в Haiku.[3]

В 2003 году была создана некоммерческая организация Haiku Inc., занимающаяся организационной частью проекта. Она контролирует развитие проекта, принимает пожертвования, а также обладает правами на торговую марку Haiku, логотип, веб-сайт и исходный код.[4]

Haiku воплощает в себе основные идеи BeOS. Это модульная система, архитектурно решённая как гибридное ядро[5]: микроядерная архитектура, способная динамически подгружать необходимые модули. Сетевой стек работает в режиме ядра, но в целях двоичной совместимости с BeOS R5 имеет также интерфейс в пользовательской области памяти.

Ядро Haiku — NewOS — написано бывшим инженером Be Inc. Тревисом Гейсельбрехтом и полностью совместимо с приложениями своего оригинала — BeOS R5.[6]

Одна из отличительных особенностей системы — архитектура трансляторов — системных интерпретаторов файловых форматов (например, JPEG). Кроме того, Haiku продолжает традиции BeOS по активному использованию файловых мета-атрибутов, что позволяет реализовать работу с данными простыми и очевидными методами (см. OpenTracker).

Файловая система OpenBFS поддерживает расширенные атрибуты файлов, журналирование, 64-разрядные указатели, поддержку хранения мета-тегов, максимальный размер файла — 260 гигабайт, раздела — 2 эксабайта (261 байт или 2 миллиарда гигабайтов).

По состоянию на сентябрь 2013 года, Haiku включает в себя систему управления пакетами программного обеспечения, позволяющую собирать пакеты и отслеживать в них зависимости.[7] Разрешение зависимостей пакетов выполняется с помощью библиотеки libsolv из проекта openSUSE.[8] Пакеты могут быть установлены из удаленных репозиториев с помощью утилиты pkgman, или посредством перемещения уже скачанного пакета в специальный каталог packages. Система управления пакетами Haiku монтирует активированный пакет в системный каталог в режиме «только чтение».

Новый внешний вид приложения MediaPlayer расположен слева, справа — старый.

  • Имя проекта было выбрано в честь сообщений об ошибках, выдаваемых браузером NetPositive: они представляли собой нерифмованые японские трёхстишия — хайку.
  • 14 сентября 2009 года вышла первая альфа-версия Haiku, которая была нацелена в основном на разработчиков.
  • Двое разработчиков портировали набор инструментов Qt, благодаря чему стало возможным легко портировать на Haiku программы, написанные с использованием Qt.
  • 10 мая 2010 года вышла вторая альфа-версия Haiku. Внесено множество оптимизаций, заметно расширена функциональность.
  • 1 июля 2010 года представлен обновленный тулкит Qt версии 4.7 для Haiku.
  • 9 сентября 2010 года Стефан Ассмус обновил внешний вид приложения MediaPlayer, а также внёс в него много полезных улучшений.
  • 8 мая 2011 года Майкл Лотц реализовал IRQ Routing.
  • 20 июня 2011 года состоялся релиз третьей альфа-версии Haiku.
  • 12 ноября 2012 года состоялся релиз четвёртой альфа-версии Haiku[9].
  • 28 августа 2018 года проект переведён в состояние первой бета-версии[10].
  • 28 сентября 2018 года вышла Haiku R1 Beta 1[11]
Версия Дата выпуска Описание
R1 Alpha 1 14 сентября 2009 Первая широко доступная альфа-версия
R1 Alpha 2 10 мая 2010 Вторая широко доступная альфа-версия
R1 Alpha 3 20 июня 2011 Третья широко доступная альфа-версия
R1 Alpha 4 12 ноября 2012 Четвёртая широко доступная альфа-версия
R1 Beta 1 28 сентября 2018 Первая широко доступная бета-версия

Фотография оригинального диска с альфа-версией Haiku R1. Фотография была сделана внутри Центра Исследований и Разработок компании Microsoft в Хайфе.

Разработка операционной системы[править | править код]

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

  • App/Interface — разрабатывают интерфейс, приложения и Support Kits.
  • BFS — разрабатывают BeFS/OpenBFS
  • Game — разрабатывают Game Kit и его API.
  • Input Server — сервер, поддерживающий устройства ввода, такие как клавиатура и мышь и их взаимодействие с другими частями ОС.
  • Kernel — разрабатывают ядро ОС.
  • Media — аудио-сервер и связанный с ним API.
  • MIDI — реализуют MIDI-протокол.
  • Network — пишут драйвера для сетевых устройств и API, связанное с сетью.
  • OpenGL — разрабатывают поддержку OpenGL.
  • Preferences — воссоздают настройки BeOS.
  • Printing — работают над print-сервером и драйверами для устройств печати.
  • Screen Saver — реализуют функциональность скринсейвера.
  • Storage — разрабатываются сервер хранения и драйвера для требуемых файловых систем.
  • Translation — воссоздают модули для чтения\записи\конвертации разных форматов данных.

Разработка приложений[править | править код]

В качестве одной из целей проекта заявлена полная двоичная совместимость с BeOS 5, поэтому разработка приложений под Haiku может вестись средствами BeOS.

Разработчикам приложений прежде всего предоставляется объектно-ориентированный API на C++. Используемый компилятор — gcc.

В Haiku корректно работают приложения, скомпилированные разными бинарно несовместимыми между собой версиями gcc (2.95 и 4). Это достигнуто путём компиляции всех библиотек операционной системы, использующихся в приложениях, обеими версиями gcc. Затем, во время запуска приложения, операционная система Haiku определяет, с помощью какой версии gcc это приложение было скомпилировано, и выполняет динамическое связывание с версией системных библиотек, скомпилированных соответствующей версией компилятора.

Другие языки программирования, используя которые можно создавать приложения для Haiku:

  • C — с использованием компилятора gcc
  • Basic
  • Pascal — с использованием Free Pascal
  • Python — с использованием библиотеки PyHaiku (для построения графического интерфейса)
  • Perl
  • Ассемблер — с использованием NASM и Yasm
  • Fortran
  • Mono — в данный момент ведётся портирование. Позволит писать приложения на C#, C++, VB.NET.
  • Java
  • Ruby
  • Tcl/Tk — благодаря сборке AndroWish от Кристиана Вернера.
  • 32-разрядный x86-процессор[12]
  • 128 Мб оперативной памяти, (1 Гб для сборки Haiku внутри себя)[12]
  • 700 Мб свободного места на жестком диске[12]

Dedoimedo рассмотрел Haiku Alpha 4 в сентябре 2013 года[13]. Блог написал:

« Как и его предшественник, Haiku начинается с выбора языка и клавиатуры. Ничего необычного, простой синий рабочий стол, некоторые значки, украденные прямо с 1993 года, и общее ощущение рабочей станции, работающей на ностальгии, до того, как графическая оболочка была популярной, и даже сам мир был двумерным. Однако вы можете попробовать живое издание или установку. »

Джереми Реймер сделал обзор Haiku Alpha 4 для Ars Technica[14]. Ars Technica также имеет ранний обзор на Haiku[15]. Джереми написал в своём обзоре:

« последний компьютер, которым я пользовался, был с материнской платой ASUS P5K-VM, и процессором Core 2 Quad Q6600, работающим на частоте 2,4 ГГц и 8 ГБ. Это мой Media Center-компьютер, подключенный непосредственно к телевизору. К счастью, Haiku загрузился на этом оборудовании без каких-либо проблем. Запуск был очень быстрым, и занял менее 15 секунд, чтобы получить полнофункциональный рабочий стол. По умолчанию система загружается в 1024×768. К сожалению, не было возможности переключиться на широкоэкранное разрешение. »

Ребека Чапник написала обзор Haiku в MakeTechEasier[16].

Джесси Смит из DistroWatch Weekly рассмотрел Haiku в 2010 году[17]. Смит также рассмотрел Haiku в 2016 году[18].

Установка Haiku и начальная настройка системы / Habr

Эта инструкция призвана помочь начинающим пользователям операционной системы Haiku, наглядно ознакомиться с процессом установки и первоначальной настройки системы.

Для начала скачиваем последнюю ночную сборку Haiku x86 GCC 2 Hybrid (на данный момент это основная и самая стабильная ветка разработки Haiku).

В зависимости от того, каким способом вы будете устанавливать Haiku, скачиваете ISO или Anyboot образ системы.

  • Если вы запускаете установку системы с лазерного диска, то скачиваете ISO образ. Затем распаковываете скачанный архив и записываете полученный файл с расширением .iso на обычный лазерный диск, через программу для записи образов.
  • Если вы хотите запустить установку с флешки, то воспользуйтесь этой инструкцией: Как создать мультизагрузочную флешку с Haiku.

Если загрузка Haiku с загрузочного носителя (который вы выбрали в BIOS компьютера) началась успешно, то на экране вы должны увидеть такое изображение:

Загрузочный экран Haiku


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

  • Атом — инициализация модулей.
  • Диск с лупой — создание корневой файловой системы.
  • Карта расширения — инициализация менеджера устройств.
  • Загрузочный диск — монтирование загрузочного диска.
  • Чип — загрузка модулей процессора.
  • Папка — финальная инициализация подсистем.
  • Ракета — загрузочный сценарий запускает систему.

Если во время загрузки системы на каком-то этапе возник сбой, то вероятно появится окно отладки KDL (Kernel Debugging Land) с логом содержащим информацию об ошибке и возможностью ввода команд:

  • continue — попробовать продолжить загрузку.
  • reboot — перезагрузить компьютер.

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

Загрузочное меню Haiku с расширенными параметрами

Загрузочное меню содержит четыре пункта:

  • Select boot volume (Выбор загрузочного раздела).
  • Select safe mode options (Параметры загрузки).
  • Select debug options (Параметры отладки).
  • Select fail-safe video mode (Выбор графического режима).

Попробуйте изменить перечисленные ниже параметры в пункте Select safe mode options, возможно это поможет вам загрузить систему:

  • Safe mode — ограничивает старт некритичных серверов (серверами в Haiku называются системные процессы, отвечающие за графический интерфейс, сеть, звук и другое).
  • Use fail-safe video mode — задает принудительное использование драйвера VESA.
  • Disable IO-APIC — отключает IO-APIC.
  • Disable local APIC — отключает local APIC и SMP.
  • Don’t call the BIOS — запрещает использовать вызовы к BIOS.
  • Disable ACPI — отключает ACPI и SMP.

Для получения детальной информации о процессе загрузки советую включить отладочный режим в пункте Select debug options с выводом на экран Enable on screen debug output, отключив при этом постраничный вывод Disable on screen debug paging.

Не стоит забывать о нескольких общих советах, которые могут вам помочь:

  • Включить или выключить PnP в BIOS.
  • Отключить лишнюю периферию.
  • Переключить режим контроллера в IDE или AHCI.
  • Использовать другой носитель или другой формат дистрибутива.

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

При удачном завершении всех этапов загрузки системы с загрузочного носителя, вы увидите окно с выбором языка и способа дальнейшей установки Haiku:

Выбор языка и способа установки Haiku

Здесь вы можете выбрать язык и нажать кнопку «Запустить Установщик» для перехода к установке системы на жёсткий диск, либо нажать «Загрузить рабочий стол» для запуска Haiku в режиме Live CD (в этом режиме вы также можете начать установку системы на жёсткий диск запустив программу Installer, которая находится в меню Applications).

Установка Haiku на жесткий диск

Запустив установку Haiku на жёсткий диск, сначала вам предложат прочитать важную информацию. Прочитайте внимательно до конца и нажимайте кнопку «Продолжить».

Важная информация перед началом установки Haiku

Затем запустится программа Installer, которая предложит вам выбрать раздел на жёстком диске для установки Haiku.

Installer — установщик Haiku, фактически, копирует системные и пользовательские файлы с одного раздела на другой. Представьте, насколько упрощается создание полноценной работоспособной копии ОС для ваших экспериментов или перенос настроенной системы на другой компьютер.

Программа Installer предлагает выбрать раздел для установки Haiku

Если раздел инициализированный в Be File System у вас ещё не готов, то вы можете создать его нажав кнопку «Настройка разделов». Тогда запустится программа DriveSetup, в которой вы легко можете создать нужный раздел.

Программа DriveSetup для создания раздела Be File System

Если вы хотите отдать под Haiku весь жёсткий диск, то выберите в списке носителей нужный жёсткий диск и инициализируйте его весь (не создавая на нём дополнительные разделы) в Be File System, как показано на скриншоте выше.

В итоге у вас должно получиться, как показано на этом скриншоте:

Жёсткий диск полностью инициализирован в Be File System

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

Но такая конфигурация загружается не на всех компьютерах из-за особенностей старых BIOS. В таких случаях необходимо создать на жёстком диске таблицу разделов. Для этого выберите жёсткий диск из списка, зайдите в меню и выберите пункт: Диск > Инициализировать > Intel Partition Map. На диске будет создана пустая область. Выберите эту пустую область и создайте в ней раздел Be File System, отметив галочку «Активный раздел», а затем инициализируйте его, как Be File System.

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

Если вы планируете установить Haiku в дополнительный раздел на жёстком диске (минимальный размер раздела 4 гигабайта) и сохранить возможность загрузки других ОС установленных в другие разделы, то вам необходимо инициализировать выбранный раздел в Be File System, как показано на этом скриншоте:

Дополнительный раздел на жёстком диске инициализирован в Be File System

После успешной подготовки раздела, закрываете программу DriveSetup и выбираете этот раздел в программе Installer, как показано на этом скриншоте:

Всё готово для установки Haiku на выбранный раздел

Для начала установки Haiku нажмите кнопку «Начать», тогда начнётся процесс копирования данных системы на выбранный раздел, сопровождаясь визуализацией прогресса. После окончания процесса установки будет предложено перезагрузить компьютер (не забудьте в BIOS компьютера выбрать жёсткий диск, на который была произведена установка, как загрузочное устройство).

Если установка Haiku была произведена в дополнительный раздел жёсткого диска, то для возможности осуществлять выбор между загрузочными разделами, вам следует установить дополнительный загрузчик в MBR область жёсткого диска. Для этого выберите в меню «Инструменты» раздел «Установить загрузочное меню», как показано на этом скриншоте:

Выбор установки загрузочного меню в область MBR на жёстком диске

Далее следуйте инструкциям на экране переходя последовательно шаг за шагом, как показано на следующих скриншотах:

Выбор жёсткого диска для установки загрузочного меню

Настройка загрузочного меню

По окончании установки загрузочного меню, перезагрузите компьютер (не забудьте в BIOS компьютера выбрать жёсткий диск, на который была произведена установка, как загрузочное устройство), и тогда при загрузке компьютера вы должны увидеть меню с выбором загрузочных разделов, как на этом скриншоте:

Загрузочное меню с выбором разделов

Настройка Haiku после установки

После загрузки системы на экране появится курсор и происходит запуск Tracker и Deskbar — аналогов Проводника и Панели задач в Windows. На этом этапе система загружена и уже готова к работе.

Для начала можете настроить Deskbar, как показано на этом скриншоте:

Настройка Deskbar и окно информации о системе

Первым делом необходимо переключить системную раскладку клавиатуры в английскую (для дальнейшей настройки системы). Нажмите кнопку с изображением пера и в открывшемся меню выберите раздел в настройками Preferences, затем выберите пункт Keymap. Откроется окно настройки системной раскладки клавиатуры. В этом окне из списка «Системные:» выберите US и можете нажать кнопку «Переключить раскладку в режим Windows/Linux», чтобы основные комбинации клавиш были привычнее.

Настройка системной раскладки клавиатуры в Haiku

Далее установите в Deskbar апплет контроллера процессов, чтобы наглядно управлять ресурсами и процессами в системе. Откройте основное меню, перейдите в меню Desktop applets и выберите пункт ProcessController. Затем в открывшемся окне нажмите кнопку «Установить в Deskbar».

Установка апплета контроллера процессов в Deskbar

Если ваш компьютер подключён к сети, то имеет смысл проверить сетевые настройки. Для этого откройте основное меню и перейдите в раздел Preferences и выберите пункт Network. Откроется окно с настройками сети, в котором можете установить галочку «Отображать статус интерфейсов в Deskbar». Если подключение к сети осуществляется через Wi-Fi адаптер, то проверьте его поддержку системой на этой странице: список поддерживаемых Wi-Fi устройств. Небольшой совет: производите изменение настроек сети предварительно выключив соединение.

Настройка сети в Haiku

Чтобы установить регулятор громкости в Deskbar, откройте основное меню, перейдите в раздел Preferences и выберите пункт Media. Откроется окно настроек звука, в котором можете установить галочку «Отображать регулятор громкости в Deskbar».

Настройка звука в Haiku

Теперь создадим на рабочем столе ярлыки приложений. Для этого откройте основное меню и однократно кликните мышкой по разделу Applications. Содержимое этого раздела откроется в окне. Пример на скриншоте:

Окно со списком установленных программ

Затем кликните правой клавишей мышки на нужной программе и в открывшемся меню перейдите на пункт «Создать ссылку в». Задержав мышку на этом пункте откроется меню со списком содержимого файловой системы. Кликните пункт «Рабочий стол» и ссылка (ярлык) на эту программу будет создана на вашем рабочем столе. В дальнейшем вы можете запускать эту программу сделав двойной клик мышкой по ярлыку на рабочем столе. Создайте на рабочем столе ярлык программы HaikuDepot (она нужна для установки программ из репозитория Haiku). Пример на скриншоте:

Создание ярлыка программы HaikuDepot на рабочем столе

Запустите программу HaikuDepot, сделав двойной клик мышкой по её ярлыку на рабочем столе (к этому моменту уже должен быть настроен выход в интернет). Запустится программа HaikuDepot и через интернет автоматически обновит список пакетов доступных в репозитории Haiku. Для удобства установки, удаления и хранения программ и компонентов для Haiku был разработан свой формат пакетов HPKG. Более подробно с этим форматом вы можете ознакомиться прочитав эту инструкцию: Создание установочного пакета в формате HPKG для Haiku.

HaikuDepot отображает список популярных пакетов в репозитории

Чтобы увидеть список всех пакетов доступных в репозитории вы можете убрать галочку показывать «Только популярные пакеты».

HaikuDepot отображает список доступных пакетов в репозитории

Теперь с помощью программы HaikuDepot установим очень полезное дополнение. Программа Keymap Switcher для быстрого и наглядного переключения раскладки клавиатуры. В строке поиска наберите название программы и список доступных пакетов отсортируется в соответствии с условиями поиска. Теперь выберите нужный пакет и нажмите кнопку «Установить». После установки пакета, программу HaikuDepot можно закрыть.

Установка пакета Keymap Switcher из репозитория

Теперь запустим установленную программу. Откройте основное меню и перейдите в раздел Preferences и выберите пункт (появившийся после установки программы) KeymapSwitcher.

Запуск установленной программы Keymap Switcher

Запустится программа Keymap Switcher и появится окно с настройками переключения раскладок клавиатуры. Выберите и добавьте нужные вам раскладки из списка, затем нажмите кнопку «Установить в Deskbar», чтобы видеть отображение текущей раскладки клавиатуры в панели Deskbar.

Настройка программы Keymap Switcher

Основной программой в современной операционной системе является интернет браузер. В Haiku есть свой предустановленный браузер, который называется WebPositive. Если вы испытываете трудности с правильным отображением некоторых сайтов в браузере WebPositive, то можете скачать специальную сборку: Браузер QupZilla v1.7.0 (Qt v5.3.1) portable сборка для Haiku.

Браузер WebPositive в действии

Некоторые полезные функции

Наверное, вы уже знаете, что желтые заголовки окон — табы, являются подобием вкладок. Удерживая клавишу Shift, их можно перемещать в пределах верхней границы окна, получив таким образом простой доступ к любому окну, перекрываемому другими окнами — иначе говоря, организовать рабочее пространство из окон-вкладок. Так было еще со времен BeOS. Разработчики Haiku продолжили развитие этой идеи, автоматизировав накладывание окон друг на друга: теперь, при перетаскивании одного заголовка на другой с нажатой клавишей Win, любые окна объединяются в единое мета-окно со вкладками. Этот метод называется Stack.

Таким же образом окна можно склеивать между собой, нажав все ту же клавишу Win и приблизив одну из границ окна к границе другого — так называемый Tile.

Комбинации из окон, объединенных и совмещенных между собой таким образом, позволяют очень тонко настраивать рабочее пространство под нужды пользователя: так, например, окно файлового менеджера Tracker, Pe — редактора исходного кода с подсветкой синтаксиса и Terminal превращаются в единую IDE среду.

Основные комбинации клавиш

Двойной клик мышкой по заголовку окна сворачивает его в панель Deskbar.

Правый клик мышкой по заголовку окна переводит его на задний план.

Если окно вышло за пределы экрана, то вернуть его на место можно зажав комбинацию клавиш Ctrl + Alt и потянув мышкой окно за его любую область.

Быстрое переключение между окнами осуществляется с помощью комбинации клавиш: Alt + Tab.

Если какое-то приложение зависло и не отвечает на запросы, то принудительно завершить его можно двумя способами:

  1. Нажать комбинацию клавиш Ctrl + Alt + Delete для вызова окна монитора процессов и выбрав в списке зависшее приложение нажать клавишу «Убить приложение».
  2. Зажать комбинацию клавиш Ctrl + Alt + Shift и кликнуть мышкой по кнопке зависшего приложения в панели Deskbar.

Файловый менеджер Tracker

Вообще-то, весь функционал файлового менеджера (входящего в состав Haiku) детально описан в руководстве пользователя, но я все же упомяну о некотором важнейшем функционале Tracker и дам несколько советов по его настройке.

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

Другим незаменимым инструментом является меню «Дополнения», также находящееся в контекстном меню. Среди установленных дополнений присутствуют такие важные как «Открыть окно терминала» (Open Terminal), «Сжатие папки» (ZipОmatic) или «Полнотекстовый поиск» (Text Search), которые применяются к той папке, из которой производится их вызов. Основным дополнениям соответствуют сочетания горячих клавиш, что позволяет еще больше ускорить работу с системой.

Теперь поговорим о настройках. По умолчанию каждую папку Tracker открывает в новом окне. Для меня, как и для многих других пользователей, это неудобно, поэтому первым делом я включаю однооконную навигацию и отображение полного пути в заголовке окна. Для этого откройте настройки в меню: Окно > Настройки > Окна и отметьте галочками пункты «Открывать папки в одном окне» и «Показывать панель навигации». Еще следует упомянуть о функции динамической фильтрации файлов по вводу с клавиатуры (включается в настройках окна: «Включить фильтрацию файлов при наборе»), скрывающей файлы, не содержащие в именах введенных последовательностей символов.

Обновление системы

Для обновления системы до текущего состояния разработки, достаточно периодически проверять обновления по этой инструкции: Обновление пакетной Haiku из репозиториев.

Будущее системы

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

Сообщество

Разумеется, все относящееся к Haiku, да и к BeOS тоже, всегда имело свойство некоторой камерности, не массовости. Сообщество, состав которого был сформирован еще на пике популярности BeOS, меняется медленно, сохраняя в своих рядах самых преданных последователей, проникшихся изящными инновационными идеями творцов из Be, Inc. Нечасто эти ряды пополняются новыми участниками: конечно же, не всем мир Haiku приходится по душе. Но, уж, если система «зацепит», то — надолго: люди, оставшиеся с Haiku, стараются сделать ее лучше, приняв посильное участие в ее развитии. К тому же, само общество заинтересовано в привлечении новых участников — поэтому здесь рады помочь любому новичку.

Если у вас есть трудности или предложения — присоединяйтесь.

Вопросы можно задать на русскоязычной jabber-конференции [email protected] где вам всегда помогут решить проблемы с системой, и даже написать баг-репорт на сайт разработчиков. А также общий англоязычный чат для всех небезразличных к Haiku располагается на IRC-сервере freenode.net (канал #haiku).

Вместо послесловия

Если среди проникшихся читателей найдутся желающие оказывать помощь Haiku: портировать софт или писать свой, истреблять баги или развивать функционал системы — добро пожаловать! И вот вам еще ссылки на незаменимый BeBook (где описан весь BeAPI) и хороший учебник программирования под Haiku от Darkwyrm. И удачи!

Haiku β1 — сделаем /b/ OS великой снова / Habr

Совсем недавно (почти 4 месяца назад) вышла новая Haiku (далее — просто BeOS, ибо проект гораздо удачнее ReactOS — настолько, что разница между Haiku и BeOS уже пренебрежимо мала).

Конечно же, мне давно уже надоели все эти Windows и *nix; хотелось попробовать чего-то новое, поэтому я не мог не пройти мимо этого проекта. Да и недавно прочитанный киберпанк-роман Александра Чубарьяна давал понять, что BeOS — крайне мощная вещь. Кстати, если кто тоже его читал, думаю, Вы догадываетесь, как Яндекс выбрал имя Алиса для своего голосового помощника.

Установка

Но довольно об этом. Продолжим. Думаете, я стал тестировать свежую ОС на виртуалке? Не, ни разу! У меня как раз на системном SSD оказалось гигов под шестьдесят неразмеченного пространства — так что попробовать поставить ОС на реальное железо было святым делом. Как всегда, я взял DD, свежий образ и ту самую маленькую удобную флешку, выделенную именно под такие вещи. Прошил, стал грузиться. Вырубил NVIDIA Optimus в BIOS, снова стал грузиться. Завелось.

После запуска Alpha-версий в виртуалке я уже ориентировался в системе, так что мне не составило труда запустить установщик. Хотя нет, сначала пришлось залезть в настройки локали и прибить пару процессов: Live-система запустилась даже не на английском. Наконец нажимаю на верхнюю часть Deskbar’а, выбираю в меню Applications → Installer, и…

Это оказался самый суровый установщик ОС, что я видел. Но в то же время самый безопасный. Мало того, что он потребовал отформатировать целевой раздел в BFS отдельно, перед запуском установки, так он ещё и запросил, исходный раздел помимо целевого (как оказалось позже, этот установщик оказался и в установленной системе — для клонирования последней на LiveUSB). Установка загрузчика вообще была дополнительной опцией. Нет, бутсектор раздела с BFS, конечно же, перезаписывался. Но MBR не пострадала.

Интеграция с GRUB

После перезагрузки с жёсткого диска я получил свой привычный GRUB-Legacy. Что ж, хотя последний о BFS и не слыхивал, как, в общем-то, и GParted, но «подружить» его с новой ОС не составило почти никакого труда:

$ sudo nano /boot/grub/menu.lst
…
title OpenBeOS
lock
chainloader (hdX,Y)+1
boot
…

Как-то так. Напомню только, что X и Y — номера соответственно Вашего диска и раздела, и они могут отличаться от моих. К счастью, в GRUB-Legacy нет никакой путаницы с указанием блочных устройств: все диски и разделы нумеруются с нуля, всегда идут в нормальном порядке и не требуют уточнения типа разметки вроде (hd0,msdos0), как это бывает в пресловутом GRUB2. Про директиву lock или password тоже не забывайте. Почему — расскажу потом.

Файловая система

Немного про саму BFS. Типичная «фирменная» ФС с расширенными атрибутами и журналированием? Не совсем. Хранение метаданных на уровне ФС позволяет реализовать средствами последней целую БД — совсем, как я люблю. Это свойство, например, активно используется в системной почтовой программе, практически не имеющей своего интерфейса. Если Вы попробуете её открыть, то сразу попадёте в редактор нового сообщения — даже если ничего никому писать не собирались. И только через несколько минут поймёте, что для получения списка писем надо нажать правой кнопкой по значку почтовика в Deskbar, выбрать нужную папку — и она… просто откроется в проводнике!

Первый запуск

Поехали! Система довольно шустрая; время загрузки пренебрежимо мало (но это, как водится, не точно на рабочей системе). После загрузки мы сразу попадаем на рабочий стол. Давайте теперь откроем какие-нибудь папки. Первое, что нам бросается в глаза — «обрезанный» заголовок окна, как иногда показывают на компьютерах в фильмах.

Управление окнами

В этом и кроется самая главная фишка BeOS — поистине инновационная модель управления окнами! Попробуйте, например, ухватиться за заголовок одного окна и с зажатой кнопкой Win перетащить его на другой заголовок. «Окна превращаются, превращаются окна… В элегантные вкладки!» Именно так, даже если это две совершенно разных программы. А теперь снова возьмите это окно и точно так же, с зажатой Win коснитесь им границы другого окна. Теперь отпускайте. Окно сначала, не кнопку Win! И снова попробуйте подвигать. «Кажется, я знаю песню, которая начиналась так же». Что ж, слушали ту песню определённо в Winamp: только посмотрите на эти «склеенные» окна! Причём они не склеиваются, когда им вздумается (типичная черта проприетарного софта, чем, как мы помним, тот же Winamp грешит), а реально помогают Вам оптимизировать рабочее пространство. Xfwm с его темой B5 подобного и не снилось!

Поддержка оборудования

В сторону UI/UX, теперь давайте поговорим серьёзно — о возможностях системы. А для этого надо хотя бы выйти в Сеть. Заодно и посмотрим, чем BeOS качественно отличается от GNU/Linux (не от Ubuntu!). Правильно, здесь заводятся какие-то беспроводный сетевые карты, кроме отдельно взятой линейки Atheros! Вообще, в моём ThinkPad T430i система не «подхватила» самую малость — например, встроенный биометрический сканер и тюнер RTL-SDR, подключенный через USB.

Так что единственное, что может встать на Вашем пути входа в домашнюю сеть — хорошие познания в ИБ в дуэте с плохой памятью). К счастью, свой 40-значный ключ я вспомнил сразу, поэтому могу перейти к самой «вкусной» части системы.

Повседневная работа

Куда бы зашёл типичный пользователь сразу после установки? Правильно, в наши любимые антисоциальные сети! С этой задачей (в отличие от себя же в составе α-выпусков) справится WebPositive — хромой, но не в Android, не в Symbian и не в BeOS: альтернатив мало, так что тут критика в адрес WebKit, в отличие от мейнстримных платформ, неконструктивна. Да и в последних двух системах он работает более-менее сносно. ВК открывается. Ютубчик, вроде, тоже. Куда ещё заходит современный пользователь? Судя по абсолютному офигению российских мобильных провайдеров и прочих противников сетевого нейтралитета — никуда.

Ладно, с Вебом у нас всё хорошо. Но в последнем возможно далеко не всё, да и в 20!8 ни для кого не секрет, что ∀ браузера с поддержкой жабаскрипта ∃ скрипт, который его повесит. Нам нужен нормальный оффлайновый софт. Которого в местном менеджере пакетов предостаточно. Здесь есть весь известный современный кроссплатформенный софт: LibreOffice, Psi+. qBitTorrent, Wireshark и т.д. — уже тут, вам остаётся только выбрать в HaikuDepot нужную программу и нажать «Установить». Или, по старой памяти, открыть терминал и:

~> pkgman install screenfetch

…обнаружить, что синтаксис команд консольного пакетного менеджера напоминает APT. Ой, а что это я там написал? Screenfetch? Совершенно верно, здесь есть и эта утилита — и ещё много *nix’оватости, и, как ни странно это говорить после сказанного во вступлении, здесь она к месту. Ещё бы, ведь сетью здесь заведуют драйвера из FreeBSD!

Ложка дёгтя

На этом, к сожалению, положительные впечатления от ОС заканчиваются — начинаются объективные. Вы ничего не забыли? Подумайте хорошо. Поняли? Верно. Вас сразу пустили на рабочий стол. Вы не видели никакого экрана первичной настройки, или что хуже…входа в систему! А в меню Preferences Вы не заметили никакого намёка на слово «пароль». Зато, если Вы внимательно посмотрели в сетевые настройки, то заметили, что в системе работает SSH-сервер. И он, стало быть, не защищён! Старая память снова подсказывает решение проблемы, и, о чудо, оно срабатывает!

~> passwd
enter new password:
confirm new password:

Кстати, а не попробовать ли просто, ради интереса, повысить права? Почему бы и да!

~> su
password:
bash5.4-5# whoami
user
bash5.4-5#

А теперь угадайте, чей пароль примет эта команда. Конечно же, ни разу не рутовый. В таком случае, у меня для Вас пренеприятнейшее известие: Вы и есть ревизор. Именно поэтому крайне рекомендую Вам поставить пароль на уровне загрузчика (не BIOS!), если Вы планируете устанавливать эту систему в качестве основной.

Что ж, давайте ещё немного «покрутим» систему и, о чудо, таки обнаружим флажок «защита паролем» угадайте, где? Правильно, в настройках скринсейвера. Теперь отойдём на 5 минут, и по возвращении появится долгожданный запрос. Хорошо. А теперь давайте попробуем заблокировать экран вручную. Кликнем правой кнопкой по рабочему столу… Откроем меню Deskbar… «Завершение работы»… Это может быть тут. Но тут ничего, кроме выключения и перезагрузки. Никакого даже режима сна или гибернации. А ведь системе было абсолютно параллельно, когда я закрыл крышку ноутбука! Никакого энергосбережения! Остаётся только надеяться, что в этом вопросе система ещё полагается на BIOS.

А теперь, раз такое дело, давайте перезагрузимся… И снова BeOS встретит нас с распростёртыми объятьями, хотя мы поставили целых два пароля (не считая пароля в GRUB, если осилили).

Что ж… Надо, что ли, похвастаться: войти ещё раз в ВК и выгрузить скриншот. Но сначала подготовиться: включить какую-нибудь MIDI-мелодию с раздела, более известного, как «диск D:»… Нет, не эту, другую. Словить при выходе из проигрывателя его же вылет… Ладно, музыку включили. Теперь надо открыть пару консольных софтин: screenfetch, top… Сгруппировать плиткой… А теперь открыть браузер и попробовать его прямо из «плиточного» представления развернуть на весь экран! Но тут экран заполняют строчки текста различных ошибок, а система перестаёт реагировать на ввод. При этом музыка нормально играет дальше! К счастью, система (т.е, отдельно взятое прикладное ПО) показывает некоторую отказоустойчивость, так что давайте закончим на позитивной ноте.

Вывод

Haiku — современная, удобная, отказоустойчивая… совместимая. Мне понравилось с ней работать. Windows и *nix реально надоели, так что хотелось бы ещё поработать с этой ОС в качестве основной. В то же время, с такими возможностями безопасности и энергосбережения, пока я категорически не рекомендую Вам использовать эту ОС для работы.

Обзор Haiku R1/beta1 — пересмотр BeOS, спустя 18 лет после его последнего официального выпуска

Я ещё в начале 2000-х годов экспериментировал и использовал BeOS R5 Pro, когда компания, которая его создала, пошла ко дну. Я с интересом слежу за развитием Haiku на протяжении всех этих лет. Хотя можно утверждать, что и старая BeOS и новая Haiku, не имеют некоторых важных функций, которые присуще современным ОС, факт состоит в том, что легковесная операционная система всегда может быть, например, отличным способом привнести новую жизнь в старую или новую, но не слишком мощную железку.

Длинная история любви, грусти и надежды

Ещё в 2000 году операционная система BeOS была известна благодаря многопроцессорности и многопоточности, способу обработки мультимедиа и ее чистому дизайну. Я до сих пор помню какое удивительно короткое время, которое требовалось для загрузки на моем старом компьютере, с процессором AMD K6-2 на частоте 400 МГц. Или как большинство приложений запускались почти мгновенно, без тормозов, которые можно было наблюдать Windows 98 или в наиболее распространенных дистрибутивах Linux того времени. Я как бы влюбился в это, и использовал его как можно больше. Существовал печально известный недостаток совместимого программного обеспечения во многих областях, но Gobe ​​Productive и несколько других приложений были достаточно мощными, чтобы восполнить недостаток и выполнить требуемую работу.

Затем, в 2001 году, появились новости о том, что Be, Inc. продается Palm, Inc., и вскоре она прекратила все свои действия. BeOS был мертв!..

Многие пользователи не хотели верить, что это конец. И идеи купить исходный код у Palm или даже создать совершенно новую BeOS стали набирать силу в сообществе. Было несколько попыток копирования BeOS-экспириенса, включая ту, которая воссоздавала интерфейс BeOS поверх ядра Linux. Но единственным проектом, который пережил всех, был OpenBeOS, позже переименованный в Haiku. Основная идея заключалась в создании замены с открытым исходным кодом и обратной совместимости с BeOS. Тогда это казалось невероятной миссией, но в 2009 году, примерно через 8 лет после последнего официального обновления BeOS, команда Haiku выпустила первый публичный снэпшот Haiku R1/Alpha 1, который дал бывшим пользователям BeOS немного надежды. Было четыре альфа-версии с 2009 по 2012 год. А потом… еще более длительный период ожидания. Не было стабильного выпуска, ни бета-версии, ни даже новой альфы.

Однако в этом году у нас появились хорошие новости. Команда Haiku наконец выпустила первую бета-версию новой операционной системы, наследницей BeOS! Haiku R1/beta 1 вышла 28 сентября 2018 года, и в то время как первоначальная идея Haiku R1 заключалась в том, чтобы воспроизвести как можно больше из BeOS R5, в ней есть некоторые отличительные новые функции, которые повышают её полезность и делают её более удобной, как для старых, так и для новых пользователей.

Запуск Haiku R1/beta1 на двух десятилетних Macbook

У меня дома есть два Macbook’а 10-11 летней давности, которые все еще используются, и оба несомненно выиграют от улучшения скорости, которое может предложить легковесная ОС. Время от времени я загружаю последнюю альфа-версию Haiku или ночную сборку в VirtualBox, чтобы посмотреть, как идут дела, но это не идёт ни в какое сравнение с запуском на реальном железе. Итак, недавно, когда я услышал, что команда Haiku выпустила первую бета-версию, я решил её попробовать. Вот мой краткий отчет о том, как это происходило.

Моя первая попытка была выполнить установку на мой MacBook Pro 15» 2,2 ГГц (середина 2007 года). Но, увы, она не загрузилась с USB (такая же проблема, которую я часто встречал при попытке запустить Linux на этом компьютере), а DVD-привод был заменен вторым жестким диском уже давно. Я сделал несколько попыток, используя два разных USB-накопителя, внешний USB-HDD, Etcher и rEFInd, кабель FireWire, другой Mac, установочный DVD, в общем я попробовал всё, что пришло мне на ум, но безуспешно. Я все еще придерживался VirtualBox. Это позволило мне запустить Haiku в полноэкранном режиме и с доступом в Интернет, что радовало. Однако звука вообще не было, и это было очень медленно, что совершенно нормально, когда вы пытаетесь использовать виртуализацию на 11-летнем ноутбуке. Это всё здорово, но, конечно же, не дает того же приятного ощущения, которое мы ценили используя BeOS.

Затем я решил попытать свою удачу с MacBook 13» 2,4 ГГц (начало 2008 года), который в настоящее время используется членом моей семьи. Он не загружался с USB, но когда я попытался загрузить Haiku с DVD, я наконец смог загрузить Live CD. Мне просто нужно было отключить APIC и ACPI во время загрузки. Итак, с этим MacBook я смог получить:

  • Только одно процессорное ядро, но довольно хорошее быстродействие, по сравнению с MacOS X 10.7 Lion.
  • Полноэкранное разрешение (но без возоможности контролировать яркость экрана).
  • Не выключается автоматически после выключения.
  • Кажется, что можно записывать звук с помощью встроенного микрофона, но, по-видимому, нет аудиовыхода.
  • Нет WiFi.
  • Нет камеры iSight.
  • Трекпад работает, но без дополнительной кнопки и без прокрутки.
  • Раскладка клавиатуры (португальский) не полностью соответствует физической клавиатуре.

В то время моя единственная надежда заключалась в том, что, возможно, я смогу заставить Haiku работать в MacBook Pro, путём извлечения SSD и выполнив процесс установки на другом MacBook. Ранее я давал себе обещание, что больше не буду вскрывать этот ноутбук, но я был готов изменить свое мнение по уважительной причине.

Итак, после завершения полной установки на разделе 20 ГБ в MacBook, я создал аналогичный раздел на Macbook Pro и начал выкручивать 23 винта. Я вынул диск и подключил его к MacBook с помощью USB. Процесс установки Haiku, был словно быстрый ветерок и напомнил мне, как удивительно быстро и легко было установить или перенести на другой диск или раздел BeOS в своё время. Через несколько минут я поместил SSD и вкрутил винты обратно в соответствующие места. Менеджер загрузки rEFInd обнаружил новый раздел Haiku, и загрузился с первой попытки, без необходимости устанавливать какие-либо действий с моей стороны. Неплохо, для бета-версии:

  • Обнаруживает и использует оба процессорных ядра, поэтому она даже быстрее, чем на другом MacBook.
  • Полноэкранное разрешение (но без возоможности контролировать яркость экрана).
  • WiFi (обнаруживает сети поблизости и легко подключается к личной точке доступа iPhone).
  • Нет камеры iSight.
  • Частичная поддержка трекпада (без правой кнопки и без прокрутки, указатель мыши кажется слишком нервным на этом Mac).
  • Раскладка клавиатуры (португальский) не полностью соответствует физической клавиатуре.
  • При выключении компьютер полностью выключается.
  • Звукозапись отображает график, аналогично MacBook, поэтому он, похоже, может использовать встроенный микрофон, но нет аудиовыхода.

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

В качестве стороннего примечания, Haiku R1/beta 1 доступена как в 32, так и в 64-битной версии, но на данный момент нет слоя совместимости, позволяющего выполнять 32-разрядные приложения в 64-разрядной операционной системе. Итак, я выбрал 32-битную версию, потому что на данный момент у нее, вероятно, будет больше доступных приложений, и я где-то читал, что она более стабильная. Я уже видел несколько сбоев приложений, и иногда он зависает в начале процесса загрузки, требующего принудительной перезагрузки, но я бы сказал, что это нормально для бета-версии. Всё, включая драйверы и многие сторонние приложения, все еще находится в разработке.

Но эй, это работает! Фактически, эта статья написана на Haiku, просто чтобы отметить тот факт, что она в состоянии это сделать.

Что нового?

Прежде всего, теперь Haiku имеет встроенную систему управления пакетами, которая позволяет очень легко обновлять операционную систему, а также открывать и устанавливать новые приложения. Установленные пакеты также могут быть деактивированы при необходимости во время загрузки.

Теперь пользователям предлагается новое приложение HaikuDepot, которое устроено как магазин приложений с большим количеством бесплатного программного обеспечения. Список доступных названий включает некоторые старые хиты, такие как BePDF, ArtPaint или Sum-It, но также некоторые новые средства, которые были недавно перенесены или разработаны с нуля, например, офисные пакеты Calligra и LibreOffice, графический редактор Krita, или среда разработки Paladin IDE, и множество другие.

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

Еще одно большое улучшение — WebPositive, новый веб-браузер на основе WebKit, который заменяет старый NetPositive. По сравнению с тем, что мы использовали в BeOS R5, это большое обновление с поддержкой многих современных технологий, которые позволяют использовать современные веб-сайты. Это означает, что вы теперь можете, например, смотреть видео на YouTube, проверять обновления Facebook или помогать в переводе пользовательского интерфейса Haiku на сервер переводов Pootle. Даже если большинство улучшений находится под капотом, любой, кто использовал BeOS для доступа в Интернет в старые времена, наверняка поймет, насколько это будет значимо для любого пользователя.

Панель «Настройки сети» совершенно новая и очень проста в использовании. Помимо выбора и конфигурации проводных и беспроводных сетевых подключений, она поддерживает VPN и позволяет управлять такими сервисами, как DNS, FTP, SSH и Telnet.

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

В то же время всё еще есть проблемы с стабильностью в некоторых приложениях (особенно сторонних) и с некоторым оборудованием (таким как Wi-Fi, раскладки клавиатуры, функции трекпада, веб-камеры, аудиовход, Bluetooth). Есть некоторые недостающие вещи (например, аппаратное 3D-ускорение, возможность перевести компьютер в режим сна или настроить яркость экрана), а другие функции по-прежнему нуждаются в улучшении.

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

Я должен сказать, однако, что сама операционная система кажется очень стабильной и пригодной для использования. Порт LibreOffice очень свежий и крашился несколько раз в моей системе, но другие приложения, такие как Krita или StyledEdit, кажутся очень стабильным. В некоторых приложениях было несколько временных визуальных глюков в WebPositive или случайных подтормаживаний, но операционная система всегда была отзывчивой. Я мог легко убить любой зависший процесс с Терминала, и компьютер продолжал работать хорошо, без перезагрузки.

Отличная возможность для разработчиков

Что касается инструментов разработки, если вы хотите внести свой вклад непосредственно в Haiku или создать для нее драйверы или приложения, вам, вероятно, придется использовать C ++, особенно если вы хотите работать с нативным API. Вы можете найти несколько IDE в HaikuDepot, таких как Paladin IDE, MonkeyStudio и Qt Creator (да, вы также можете использовать Qt в Haiku), KDevelop и некоторые мощные текстовые редакторы, такие как Pe, QEmacs, Vim или Koder. Существует также Yab-IDE, позволяющая разрабатывать графические приложения в yab (язык программирования BASIC) с использованием BeAPI.

В репозитории программного обеспечения уже есть порт Python 3.6, который хорош, но по-прежнему остается много недостающих пакетов python, требующих компиляции, таких как Pillow, Pelican, Flask, Numpy или Pandas. Однако вы можете установить Requests и SQLalchemy. На данный момент нет tkinter/ttk, но я считаю, что WxPython и PyQT уже доступны. И это, безусловно, улучшится в будущем.

pip похоже, работает, но процесс, кажется, висит после завершения, а не возвращает управление командной строке. git отлично работает, как и ожидалось. Если вы спросите о Lua или Perl, вы с удовольствием узнаете, что они также доступны в репозитории HaikuPorts.

Haiku в стадии разработки особенно интересна разработчикам программного обеспечения, поскольку они получают отличную возможность учиться, достигать и помогать создавать то, что другие люди найдут очень полезными. Если вам интересно или у вас есть опыт работы на C ++, вы можете рассмотреть возможность участия в проекте Haiku с вашим текущим опытом и знаниями. Я не пишу на C ++, но я слышал, что API BeOS/Haiku на самом деле очень приятно использовать.

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

Haiku, возможно, никогда не станет операционной системой массового рынка, такой как Windows, MacOS, iOS или Android, но, несомненно, затронет сердца многих пользователей, так же как это когда-то BeOS сделала в своё время. Она тронула меня тогда. Haiku всё еще находится в стадии первой бета-версии, и я уже решил, что она заслуживает своего отдельного раздела на SSD в моем Mac.

Оригинал статьи находится здесь.

P.S.: Появились вопросы? Приглашаем вас в русскоязычный telegram-канал.

Хайку. Начало / Habr

О том, как команда энтузиастов воссоздала замечательную операционную систему.

Недавнее собрание в Дюссельдорфе команды программистов работающих над «Хайку» — операционной системой с открытым исходным кодом, которая представляет собой попытку воссоздания и усовершенствования старой операционной системы, известной как BeOS. Фото: Андреас Тейхман


Летом 2001 года у программиста Майкла Фипса возникла проблема. Его любимая операционная система BeOS была на грани исчезновения. Такая эмоциональная привязанность к компьютерной программе может показаться довольно странной, однако, для Фипса, как и для многих других (в том числе и для меня), такое отношение к BeOS было не безосновательным. Эта система работала поразительно быстро на компьютерах своего времени, имела простой и интуитивно понятный пользовательский интерфейс и обладала богатым, интересным и современным набором средств для разработки. Короче говоря, мы считали, что она гораздо лучше любой другой операционной системы доступной на тот момент. Однако компания-создатель BeOS не смогла найти свою нишу на рынке и постепенно распродала конкурентам все свои активы, включая и саму систему BeOS.

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

Если вам доводилось заниматься программированием, то вы должны знать, что создание операционной системы – это огромная работа. И было бы странным ожидать, что люди будут заниматься такой работой абсолютно бесплатно. Однако для нескольких десятков энтузиастов работа над «Хайку» стала любимым делом. За одиннадцать лет работы над проектом мы выпустили три альфа версии системы, а в этом месяце [статья была опубликована в мае. прим. пер.] собираемся выпустить четвертую и последнюю альфа версию. После этого мы приступим к этапу бета тестирования, которое мы надеемся закончить к концу этого года. А затем в начале 2013 года выйдет первый официальный выпуск системы известный как R1.

Однако уже сейчас любой желающий может использовать данную систему, установив её на компьютере Intel x86. Многие из тех, кто уже так и поступил, отмечают, что даже альфа версии «Хайку» не уступают по стабильности работы итоговым версиям иных программ. И действительно, среди всех многочисленных операционных систем, используемых в настоящее время, «Хайку», вероятно, занимает наилучшую позицию для того, чтобы «бросить вызов» таким популярным операционным системам, как Microsoft Windows или Mac OS. Опыт использования «Хайку» показывает, что она чрезвычайно удобна как для рядовых пользователей, так и для профессиональных разработчиков. Подобно BeOS она отличается быстродействием, гибкостью и эффективностью. Более того, в отличие от своих уже состоявшихся конкурентов, «Хайку» чрезвычайно хорошо решает одну из сложнейших задач современного программирования: работу на многоядерных процессорах. Давайте взглянем, за счет чего это все достигается, рассмотрим процесс развития «Хайку» и выясним действительно ли операционная система, установленная на вашем компьютере, работает так хорошо, как могла бы.

Но сначала немного истории. В 1991 году бывший исполнительный директор компании Apple, француз по имени Жан-Луи Гассэ, вместе с некоторыми своими экс-коллегами по Apple, основали компанию Be Inc. для того, чтобы заняться разработкой компьютера нового типа. В частности, они хотели избежать «ловушки обратной совместимости», которую им часто приходилось наблюдать, работая в компании Apple. Там при разработке каждой новой версии аппаратуры или программ приходилось брать в расчет предыдущие версии вместе со всеми их недостатками. Первым продуктом компании стал настольный компьютер, получивший название BeBox. Не найдя операционной системы, которая отвечала бы их запросам, инженеры компании Be написали свою собственную.

BeBox появился на рынке в октябре 1995 года, но не обрел популярности, и вскоре его разработка была свернута. BeOS, напротив, быстро нашла маленькую группу «преданных поклонников», и вскоре уже работала на компьютерах совместимых с архитектурой Intel x86 и Macintosh PowerPC. На определенном этапе в Apple даже подумывали использовать BeOS вместо своей собственной операционной системы. В итоге компания выпустила укороченную версию BeOS для установки в аппаратах, «заточенных» на работу в интернете, но для успеха этого оказалось недостаточно. В 2001 году компания Palm купила Be, как сообщалось, за 11 миллионов долларов.

Когда сделка по продаже компании Be была уже на финальной стадии, Фипс основал проект «Хайку», который первоначально назывался OpenBeOS (Название проекта поменялось несколько лет спустя, см. врезку «Что в имени тебе моем?»)

С самого начала Фипс решил, что проект будет нацелен на то, чтобы воссоздать последний официальный выпуск BeOS известный как R5. Оглядываясь назад, можно увидеть, что это решение было гениальным. Обычно проектами по разработке программ с открытым исходным кодом люди занимаются в свое свободное время, ради удовольствия. Зачастую такие проекты, так и не приведя к какому либо существенному результату, постепенно «угасают», поскольку разработчики теряют к ним интерес и сворачивают с первоначально выбранного пути. Однако «Хайку» удалось избежать этой участи, поскольку все его разработчики верили в важность воссоздания R5.

Для того чтобы заниматься своим проектом, Фипсу и его единомышленникам, приходилось «выкраивать» время от своей основной работы. Операционная система является крайне сложным продуктом, в особенности такая всеобъемлющая, как BeOS, чьи многочисленные уровни и приложения изначально были спроектированы так, чтобы работать вместе. Самые одаренные инженеры Кремниевой Долины работали над ней более десяти лет. Идея воссоздать такую систему силами энтузиастов, работающих над проектом в свое свободное время, была поистине сумасшедшей. Однако именно благодаря таким, на первый взгляд безумным идеям, и появился Linux, а также программы фонда свободного программного обеспечения GNU, начиная от компилятора языка C и заканчивая программой бухгалтерского учета GnuCash.

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

К счастью, BeOS обладала модульной структурой. Именно благодаря этому и стала возможной разработка, тестирование, и замена по отдельности каждого компонента BeOS своим свободным аналогом. Несколько компонентов BeOS уже были выпущены компанией Be в качестве программ с открытым исходным кодом. Это были такие программы, как Tracker и Deskbar, которым в системе Windows соответствуют Windows Explorer и Taskbar, а в операционной системе OS X – Finder и Dock. Одной из первых программ, которую программисты решили заменить, стала заставка экрана или скринсейвер. У такой программы довольно простое назначение, но в то же время в ней происходит работа с важными частями компьютерного комплекса. Среди прочего, эта программа должна постоянно следить за активностью клавиатуры и мыши, загружаться в заданное время и запрашивать пароль при выключении. Когда все части, составляющие новый скринсейвер, были закончены, Фипс заменил скринсейвер системы BeOS на разработанную версию с открытым исходным кодом. К всеобщей радости и удивлению, она работала. Но более важным было то, что разработчики убедились в верности выбранного подхода, и поняли, что они могут заменить каждый модуль в BeOS, зная при этом, что он будет полностью совместим с другими частями системы.

В 2008 году мы перешагнули важный рубеж. «Хайку», как и любая другая программа, написана в исходном коде. Для того, чтобы компьютер смог с этим кодом работать, необходимо его откомпилировать и преобразовать в бинарный код. Прорывом было то, что наконец-то стало возможно компилировать исходный код «Хайку» из самой операционный системы «Хайку». Программисты называют такую возможность «саморазмещением». Этот этап является крайне важным при разработке любой операционной системы, потому что не обладающая возможностями самокомпилирования операционная система всегда будет зависеть от других систем.

Когда работа над проектом уже шла полным ходом, Фипс решил заняться созданием организации, которая стала бы «домом» для «Хайку». В итоге, в 2003 году он основал некоммерческую организацию Haiku Inc. Она контролирует работу над проектом, и принимает пожертвования. Также ей принадлежат торговые марки и авторские права на сайт, логотип и, разумеется, сам исходный код «Хайку». В настоящее время исходный код «Хайку» доступен по, так называемой, MIT лицензии. Данная лицензия позволяет полное и свободное использование кода практически всем желающим, включая частные компании и другие проекты с открытым исходным кодом.


BeBox: Он умер, но система его жива.

Фото: Рене Голлент

6 классных особенностей «Хайку»

  • Эту систему можно использовать абсолютно бесплатно; она создана для того, чтобы максимально увеличить пользователям свободу действий.
  • Это система с открытым исходным кодом и приемлемой схемой лицензирования. Коммерческие компании практически без затруднений могут использовать её для своих нужд.
  • В этой системе широко используется многопоточность и преимущества многоядерных процессоров, применение которых не требует от разработчика слишком больших усилий.
  • Данная система нетребовательна к аппаратным ресурсам, отличается быстродействием и хорошей производительностью и позволяет дать «вторую жизнь» старому оборудованию.
  • Файловая система данной ОС устроена как база данных, что упрощает поиск и сортировку информации.
  • Все компоненты этой системы, начиная с ядра системы, и заканчивая пользовательским интерфейсом, хорошо интегрированы и согласованы между собой ещё на уровне исходного кода.

Разумеется, команде разработчиков «Хайку» приходится остерегаться нарушения патентных прав, которые имеются у BeOS и ещё не утратили своей силы. Однако мы поддерживаем дружеские отношения с японской компаний Access, которой в настоящее время принадлежат права на BeOS. В частности, Access разрешает нам выкладывать документацию по BeOS на нашем сайте. Кроме того, она никогда не пыталась запретить нам ни одну из наших работ по копированию технологий, используемых в BeOS. Станет ли Access или какая либо другая корпорация, которой покажется, что у неё есть права на наш код, судиться с таким меленьким проектом, как наш? Ведь от такой тяжбы компании не пришлось бы ожидать больших финансовых выгод, да и на репутации это сказалось бы не лучшим образом. Однако поживем – увидим. С нынешним числом судебных разбирательств, посвященных вопросам интеллектуальной собственности в США и по всему миру, ни один проект по созданию программных продуктов не может считать себя абсолютно защищенным от судебных исков.

В 2007 году Фипс объявил, что по семейным обстоятельствам вынужден покинуть проект, и у руля Haiku Inc. встали другие. Однако потеря лидера, не повредила проекту, почти как изначально и предполагал Фипс. Так, в настоящий момент, я выполняю обязанности казначея проекта и вместе с другими членами руководства заседаю в совете директоров. Мы помогаем дальнейшему динамичному развитию проекта, так что во время своего последнего собрания, которое состоялось в Дюссельдорфе в начале апреля, команда разработчиков «Хайку» уже работала над очередной альфа-версией системы.

К настоящему моменту мы воссоздали BeOS R5 настолько точно, что старые приложения, разработанные для BeOS, которым сейчас уже более десяти лет, свободно запускаются на «Хайку». Когда проект только начинался, многие полагали, что такая совместимость будет невозможна. Во многих ключевых областях «Хайку» даже превзошла свою предшественницу. Так, например, «Хайку» поддерживает гораздо большее число языков, чем BeOS, и помимо этого обладает также и другими средствами интернационализации. К тому же она может работать с современными видеокартами, новейшими процессорами и беспроводными сетями и поддерживать работу с большим объемом памяти, чем BeOS.

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

Но даже узнав обо всех достоинствах «Хайку», вы, возможно, все ещё задаетесь вопросом – а нужна ли ещё одна операционная система, когда уже есть Windows, Mac OS X, сотни версий Linux и многочисленные системы для мобильных аппаратов?

Ответ на этот вопрос – «Да, нужна». И по целому ряду причин. Компьютерные вирусы, почти так же, как и их собратья в природе, активно размножаются в условиях единообразия. А поскольку много людей использует операционную систему Windows, то у вирусов, созданных для нанесения вреда данной системе, нет недостатка в жертвах. К тому же, если у одной операционной системы есть монополия на рынке, то у её создателей не будет веских причин её улучшать (конкуренция со стороны браузера Mozilla Firefox, во многом, была тем стимулом, который заставил улучшить Internet Explorer). Многообразие же способствует созданию программ с лучшей совместимостью, поскольку в условиях многообразия разработчик вынужден создавать код, который должен хорошо уметь взаимодействовать с другими программами. Когда конкуренция почти не ощущается, для работ по совершенствованию программ просто нет стимулов.

«Что в имени тебе моем?»

Когда проект по воссозданию BeOS только начинался, он был известен под именем OpenBeOS. Однако название «BeOS» являлось зарегистрированной торговой маркой, поэтому проекту необходимо было придумать новое название. В 2002-м году был проведен конкурс на лучшее название проекта. На этот конкурс поступило множество предложений, и лучшим из них было признано название «Хайку». Это название восходит к эксцентричным сообщениям об ошибках, которые имелись в браузере системы BeOS. Все они отображались в форме хайку – классических японских трехстиший. Так, например, в случае недоступности сайта сообщение об ошибке могло выглядеть следующим образом:

«Три вещи неизбежны:

Налоги, смерть и недоступность сайта.

Одной из них вы – жертва.»

Список сообщений об ошибках BeOS можно найти в интернете по адресу www.8325.org/haiku. Существуют также планы по включению этих сообщений в браузер системы «Хайку».

Однако «Хайку» не просто обогащает генофонд операционных систем. Первое, что люди в ней отмечают, это её непохожесть на другие операционные системы, такие как Windows, OS X или Linux. Она уникальна. Так, например, сердцевиной Linux является так называемое ядро, которое изначально было создано для работы на серверах, и лишь позже модифицировано для использования на настольных компьютерах. В результате, иногда данное ядро выделяет недостаточно ресурсов пользовательскому интерфейсу, и пользователи Linux ощущают досадные задержки в работе системы. Это проявляется, когда компьютер выполняет особо ресурсозатратные операции, такие как прожигание DVD-дисков или компиляция кода. Ядро же операционной системы «Хайку» изначально создавалось для настольных компьютеров, и поэтому оно всегда отдает приоритет пользовательскому интерфейсу, невзирая на то, что происходит в системе.

Между ядром системы и пользовательским интерфейсом находится так называемый программный интерфейс приложения или API. API – это тот инструмент, который разработчики программного обеспечения используют для осуществления взаимодействия своего приложения с другими. Плохой дизайн API может испортить жизнь как самим программистам, так и конечным пользователям их программ. У «Хайку» есть только один API. Для сравнения, в Linux имеются сотни API и почти столько же пользовательских интерфейсов, и поэтому безболезненно перейти с одной версии Linux на другую практически невозможно. Используемая вами версия Linux может сильно сказаться на том, как выглядит экран компьютера, на способе запуска и выполнения программ, и на множестве других вещей. Все это делает разработку программ, которые бы одинаково хорошо работали на всех версиях Linux, довольно непростым делом.

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

Что действительно выделяет «Хайку», так это её производительность и скорость работы. На моем компьютере, выпущенном три года назад, «Хайку» загружается за 10 – 15 секунд из полностью выключенного состояния, а во время работы использует всего около 170 мегабайт оперативной памяти. По сравнению с другими операционными системами «Хайку» просто великолепна в обеспечении пользователя максимальным объемом ресурсов. «Хайку» замечательно работает даже на старых машинах, которые, благодаря данной системе, не считаются устаревшими и непригодными к использованию, просто потому, что они больше не могут работать с разбухшими и неэффективными современными операционными системами.

Быстродействие и высокая производительность «Хайку» во многом обусловлена теми архитектурными решениями, которые она унаследовала от BeOS. BeOS изначально была спроектирована так, чтобы полностью использовать возможности многопоточности. Под потоком в программировании понимается последовательно выполняющийся программный код. Подобно тому, как ткань состоит из множества нитей сотканных вместе, операционная система состоит из нитей выполнения, или потоков, каждый из которых получает свою долю процессорного времени. Как правило, у каждого приложения есть по одному потоку выполнения, и у пользовательского интерфейса операционной системы тоже есть один поток. Проблема заключается в том, что как раз пользовательскому интерфейсу зачастую нужен больше чем один поток выполнения. Сообщения типа «приложение не отвечает» (Windows) или «пляжный мяч смерти» (OS X), довольно часто огорчающие большинство из нас, являются прямым следствием того, что у пользовательского интерфейса есть только один поток выполнения. Когда этот поток слишком загружен работой или у него появляется какая либо другая проблема (например, ухудшается скорость сетевого соединения), то интерфейс приложения оказывается заблокированным.

Такого не бывало в BeOS, и этого нет в «Хайку». Чем BeOS была лучше операционных систем своего времени, (и чем «Хайку» всё ещё лучше нынешних), так это тем, что в ней каждое приложение использует несколько потоков выполнения. У ядра приложения есть свой поток выполнения, и для каждого нового окна создается свой, отдельный поток. Это, конечно, несколько усложняет написание кода, но в результате программы почти никогда не тормозят и не зависают.

Пробуем «Хайку» на зуб

На сайте «Хайку» вы можете скачать последнюю альфа версию системы или более свежий выпуск сборки по расписанию, который выходит каждую ночь. Для лучшей работы рекомендуется использовать, как минимум, Pentium III, имеющий 256 Мб оперативной памяти и 2 Гб свободного места на жестком диске. Если вы разработчик, который ищет классный проект, чтобы к нему бы присоединиться, считайте что вы его уже нашли. Даже если вы исправите всего лишь одну незначительную ошибку в коде, мы все равно будем вам очень благодарны за участие в проекте.

Большая многопоточность операционной системы означает, что «Хайку» может сполна использовать преимущества многопроцессорных компьютеров и многоядерных процессоров, которые ныне распространены повсеместно. Ядро «Хайку» дает возможность каждому потоку выполняться на своем процессоре или ядре. Это касается даже тех потоков, которые принадлежат одному приложению. Создание нескольких отдельных потоков выполнения для других задач, таких как, например, чтение информации из сети, также становится проще. Другие операционные системы могут использовать преимущества многоядерной архитектуры только в том случае, когда им приходится работать одновременно с большим числом приложений, или же в случае работы с одним, но таким, которое специально написано с использованием многопоточности. Однако написание таких программ является непростым делом, поэтому они достаточно редки.

«Хайку» упрощает процесс написания многопоточных приложений, поскольку в ней большая часть взаимодействия между потоками скрыта от разработчика, и ему не приходится больше беспокоиться о том, как обеспечить многопоточную работу своей программы. Во многом это обеспечивается широким использованием сообщений. Предположим, в приложении есть поток А и поток В, и оба хотят получить данные от потока С. Вместо того, чтобы напрямую обратиться к этим данным, оба потока отправляют сообщения, которые попадают в центральную очередь сообщений, где обрабатываются в специальном порядке. Если бы этого механизма не было, то два потока попытались бы одновременно получить доступ к третьему и тем самым создали бы взаимоблокировку, в которой бы и застряли в вечном ожидании. В «Хайку» сообщения можно передавать как между потоками одного приложения, так и разных. Таким образом, с помощью сообщений «Хайку» управляется с многопоточностью и освобождает программиста от необходимости разбираться со всеми сложностями многопоточности самому.

Основная причина, по которой в BeOS использовалась многопоточность, заключалась в том, что BeBox задумывался как мультимедийная платформа. Одним из маркетинговых названий BeOS даже было «операционная система для мультимедиа». Это не было просто рекламным преувеличением, система и в самом деле очень хорошо работала с мультимедиа. Обычно при демонстрации BeBox на нем одновременно включали полдюжины разных видеофайлов, которые все проигрывались без помех и задержек. Время отклика самой системы при этом не ухудшалось. Производительность системы также позволяла быструю обработку аудиофайлов. Хотя «Хайку» все ещё нуждается в доработке в этих областях, она все равно опережает многие другие системы.

Ещё одно преимущество »Хайку» над другими операционными системами заключается в том, что ней активно используется файловая система, основанная на принципах баз данных. В этой системе каждый файл может иметь разнообразные атрибуты, ассоциированные с ним, которые затем индексируются, и по которым в дальнейшем можно осуществлять поиск, совсем как в современных базах данных. Так, например, каждое сообщение электронной почты хранится в «Хайку» вместе со своими атрибутами, такими как тема письма, имя и адрес отправителя, имя и адрес получателя. С помощью файлового менеджера Tracker можно проводить поиск по всем этим атрибутам. Использование атрибутов также позволяет извлекать из mp3-файлов информацию о песнях, и с помощью файлового менеджера с легкостью упорядочивать свою библиотеку аудиозаписей и находить в ней записи. Записи в адресной книге «Хайку», которая называется People почти полностью состоят из атрибутов.

Операционная система, которая помогает упорядочивать электронную почту и адресную книгу, предоставляет огромные преимущества. В этом случае вы уже больше не привязаны к какой-либо программе по управлению почтой или контактами. Всякий, кто пытался извлечь старые сообщения из разросшегося файла почтовых сообщений программы Microsoft Outlook, оценит всю прелесть данного подхода. Вместо того, чтобы «привязываться» к какому-либо проприетарному формату, который доступен только для одной конкретной программы, «Хайку» позволяет использовать любую программу по вашему усмотрению. Можно даже использовать несколько программ для одного и того же набора почтовых сообщений. Точно так же файлами записей в адресной книге программы People можно управлять с помощью самых разных программ, даже с помощью файлового менеджера Tracker. Ни одна другая операционная система не может похвастаться столь удачной реализацией файловой системы на основе принципов баз данных.

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

Кроме того, так же как и другие операционные системы с открытым исходным кодом, «Хайку» страдает от нехватки драйверов к оборудованию. Современные видеокарты, принтеры и другие компоненты компьютерной системы очень сложны. Они словно самостоятельные мини-компьютеры, и для того, чтобы они работали, необходима специальная программа, называющаяся драйвер. Драйвер является посредником между операционной системой и аппаратным обеспечением. Однако в настоящее время на рынке существует так много типов и моделей оборудования, а также их производителей, что разработчикам, работающим над проектом с открытым исходным кодом, очень трудно за ними поспевать.

К счастью в «Хайку» могут быть внедрены наработки, которые уже имеются у большого числа программистов, работающих над Linux, FreeBSD и другими открытыми операционными системами. В настоящий момент «Хайку» уже использует драйвера сетевой карты и wi-fi от FreeBSD через специальный транслирующий интерфейс. Также ведутся работы по включению в «Хайку» новой системы Gallium3D, которая, как ожидается, будет использоваться в будущих драйверах для видеокарт в Linux.

Более того, на многие преимущества «Хайку», скорее всего, никогда не будет достойного ответа со стороны лидирующих операционных систем. По крайней мере, не в обозримом будущем. Приложения в Linux не спроектированы таким образом, чтобы поддерживать многопоточность в том же объеме, в каком её поддерживают приложения «Хайку». Поэтому приложения Linux не могут полностью использовать преимущества многоядерных систем. В версии операционной системы OS X, выпущенной компанией Apple два года назад и получившей название Snow Leopard, появилась новая технология под названием Grand Central Dispatch. С её помощью приложениям теперь легче использовать многопоточность. Однако для пользовательского интерфейса программ по-прежнему выделяется только один поток. Поэтому «пляжный мяч смерти» все ещё существует.

Последняя версия Windows 7 значительно лучше по сравнению со своими предшественницами. Однако в ней все ещё есть недостатки, такие как повсеместная противоречивость интерфейса и избыток очевидной информации. Одной панели управления достаточно для того, чтобы вызвать у пользователя головную боль. Кроме того, Windows огромна. Чистая система Windows 7 Ultimate занимает 20Гб места на диске. Даже если вы установите вместе с «Хайку» десятки свободно распространяемых приложений, которые имеются для данной системы, то все это займет всего лишь около 700Мб, то есть одну тридцатую того объема, который нужен для Windows 7. Что же касается открытости кода и бесплатности распространения, то ни Windows, ни Mac OS это совершенно не грозит.

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

Первоначально данная статья была опубликована в печатной версии журнала «IEEE Spectrum», под названием «The Dawn of Haiku».

Об авторе
Райан Левенгуд – консультант по компьютерным технологиям, специализирующийся на разработке сайтов на Ruby on Rails. Живет в Бойнтон-Бич, штат Флорида. В 2003 году впервые принял участие в работах по созданию операционной системы «Хайку», сейчас является казначеем проекта. «Нет совершенных операционных систем, однако некоторые чересчур уж несовершенны» — говорит он. «Я посчитал, что над какой бы операционной системой я ни работал, она не сможет быть хуже, чем та, которую я уже использую». В свободное от программирования время Райан вместе с женой Франческой занимаются своими четырьмя котами, сенбернаром, и садом, где они выращивают типичные для штата Флориды растения.

P.S. Хабраюзер Roler обратил моё внимание, что перевод данной статьи тут уже публиковался. Прошу прощения за дубль. Однако позволю себе оставить и свой вариант. Он кажется немного полнее.

Программы | HaikuOS — Русскоязычная Вики

Примечание: Как устанавливать BeOS-программы — читайте FAQ — «Как установить старые BeOS-приложения?».

Примечание 2: Если приложение ругается на отсутствие в репозитории пакета openjdk_x86 1.7, то можете скачать его отсюда и установить вручную, либо подключите репозиторий haiku.uwolke.ru.

Примечание 3: Иногда имена пакетов могут меняться: к ним могут добавляться или убираться префикс «_x86». Если вы ставите программу в терминале и пакетный менеджер не находит пакет, попробуйте добавить или удалить этот префикс.

— программа, которая может работать некорректно/при его использовании могут возникнуть проблемы

Категория Название Пакет x86 Пакет x64 Описание
Графика Imageshow imageshow нет Скачайте пакет вручную: clasquin-johnson.co.za/packages/imageshow-1.0.b3-4-x86_gcc2.hpkg
Artpaint artpaint Растровый редактор
Easypaint easypaint easypaint_64 Растровый редактор. Скачайте пакет вручную: clasquin-johnson.co.za/packages/easypaint-0.1.0-4-x86_gcc2.hpkg (x64)
Kolourpaint kolourpaint_x86 kolourpaint Растровый редактор
Photograbber photograbber Программа для импорта фото с камеры
Wonderbrush wonderbrush нет Растровый редактор
Tuxpaint tuxpaint
Sanity sanity GUI для sane
GlipsGraffiti glipsgraffiti_j нет, но должен подойти,
потому что на java
Векторный редактор. Скачайте пакет вручную: clasquin-johnson.co.za/packages/glipsgraffiti_j-1.5-5-x86_gcc2.hpkg
Colors! colors Экранная пипетка
Krita krita_x86 krita Растровый редактор. Аналог Gimp/Photoshop
Mass Picture Converter masspictureconverter нет конвертер изображений. Подключите репозиторий или скачайте пакет с Besly Repo (x86, x64)
Мультимедиа LMMS lmms_x86 lmms Мультимедиа студия для аранжировки музыкальной продукции
Qmmp qmmp_x86 qmmp Аудиоплеер с опциональным Winamp-интерфейсом
Рекомендуется использовать Qt-интерфейс: у интерфейса с обложками проблема с окнами программы и плейлиста. (Смена в Настройки> Модули> Пользовательские интерфейсы)

У программы есть два интерфейса: «простой» и winamp-подобный. Вы можете переключиться на более удобный вам интерфейс с помощью Edit(right click)> Settings> Plugins> User Interfaces и затем перезапустить программу.

По-умолчанию программа на английском языке. В Edit(right click)> Settings> Advanced вы можете изменить интерфейс на русский.

Aplayer aplayer нет Скачайте пакет вручную: clasquin-johnson.co.za/packages/aplayer-4.0.1-2-x86_gcc2.hpkg

Аудиоплеер. Осторожно, может читать не все форматы.

CL-Amp clamp нет Аудиоплеер похожий на WinAMP. Для установки подключите репозиторий Fatelk.

Осторожно, может читать не все форматы.

Примечание: в программе небольшой глюк, чтобы изменить скин программы на Winamp/обратно, после выбора обложки для сохранения изменений закройте не окно «Skin selector», а окно программы.

Audacious audacious_x86 audacious аудиоплеер с опциональным Winamp-интерфейсом.
Рекомендуется использовать Qt-интерфейс: у интерфейса с обложками проблема с окнами программы и плейлиста. (Смена в Настройки> Интерфейс)
Clementine clementine_x86 clementine аудиоплеер, форк Amarok 1.4
Avidemux avidemux_x86 avidemux Видеоредктор для нелинейного монтажа
ArmyKnife armyknife Редактор ID3-тегов
BeAE beae Аудиоредактор
Kwave kwave_x86 kwave Аудиоредактор
BurnItNow burnitnow Приложение для записи Аудио-дисков и дисков с данными
Qmplay2 qmplay2_x86 qmplay2 QT-медиаплеер. Подойдет для просмотра видео, прослушивания музыки и интернет-радио.
SMTube smtube_x86 smtube Утилита для просмотра видео с Youtube в медиа-плеере
UberTuber ubertuber
Clockwerk clockwerk Программа для совмещения видео, аудио, изображений и экспорта полученного видео в доступном формате.
UltraDV ultradv Нелинейный видеоредактор, созданный Mediapede Inc. в 1998г.
SoundPlay soundplay нет Минималистичный аудиоплеер. Скачайте пакет вручную: clasquin-johnson.co.za/packages/soundplay-4.7.3-3-x86_gcc2.hpkg
Openshot openshot Свободный нелинейный видеоредактор
Fre:ac freac_x86 freac аудиоконвертер
Qwinff qwinff_x86 qwinff GUI для FFMPEG
Офис A_book a_book Календарь-органайзер
CoolReader coolreader3_x86 coolreader3 Читалка электронных книг
FBReader fbreader_x86 fbreader
Djvuviewer djvuviewer Читалка djvu
Caduntu caduntu нет Скачайте пакет вручную: clasquin-johnson.co.za/packages/caduntu-1.0.b4-4-x86_gcc2.hpkg
Gobe Productive gobeproductive_full нет Скачайте пакет вручную: clasquin-johnson.co.za/packages/gobeproductive_full-2.0.1-3-x86_gcc2.hpkg
Globe globe нет HTML-редактор
LittleWriter с сайта / littlewriter_x86 нет softwaredepot.altervista.orglittlewriter.html#loaded / Скачайте пакет вручную: clasquin-johnson.co.za/packages/littlewriter_x86-1.2-3-x86_gcc2.hpkg

Текстовый редактор с возможностью сохранения (но не чтения) ODT и PDF + умеет читать и сохранять HTML

Qsimplsheet qsimplesheet_x86 Скачайте пакет вручную: clasquin-johnson.co.za/packages/qsimplesheet_x86-0.3.9-2-x86_gcc2.hpkg ((x64))

Редактор таблиц.

Calligra Suite calligra_x86 calligra Офисный пакет KDE
Sum-It sum_it нет Табличный процессор
ThinkOffice с сайта Скачайте пакеты вручную: thinkfree_office-4.0.1480-1-x86_gcc2.hpkg, thinkfree_office_data-4.0.1480-1-any.hpkg. Последовательность: сначала tf_o_data, потом tf_o. Нужна Java.

Офис.

Русский язык интерфейса: откройте Haiku Menu>Preferences> ThinkFree Office Settings 4> UI Language и Application Language — выберите Russian

Продление Trial-версии: по истечении 30 дней удалите файл /boot/home/config/settings/tfo4/tfoini4.properties.

LibreOffice libreoffice_x86 libreoffice_x86_ru libreoffice libreoffice_ru Установка русского языка — пакет libreoffice_ru
BePDF bepdf PDF-читалка
qPDFView qpdfview_x86 qpdfview
Abiword abiword нет текстовый процессор
Scribus scribus_x86 scribus
Tesseract tesseract_x86
tesseract_data_rus
tesseract_data_eng
tesseract
tesseract_data_rus
tesseract_data_eng
OCR. Консольное распознавание текста.
Пример: tesseract ./image.png ./text.txt — rus
Календарь calendar_x86 calendar Нативный календарь Haiku
Notepadqq notepadqq_x86 notepadqq Кроссплатформенный блокнот, похожий на Notepad++
Репликанты Deskbareyes с сайта / deskbareyes нет Скачайте пакет вручную: clasquin-johnson.co.za/packages/deskbareyes-0.1.1-2-x86_gcc2.hpkg
TakeNotes takenotes Заметки на рабочий стол
Desknotes desknotes
Погода weather Погода на рабочий стол
Рабочие столы (встроен в систему) Переключение между виртуальными рабочими столами
Статус сети (встроен в систему) Обычно установлен в Deskbar, но так же можно вытащить в виде репликанта на рабочий стол
Электропитание (встроен в систему)
WorkspaceSwitcher workspaceswitcher нет Скачайте пакет вручную: clasquin-johnson.co.za/packages/workspaceswitcher-1.3-3-x86_gcc2.hpkg
Часы (встроен в систему) «Виджет» часов
Калькулятор (встроен в систему) (В программах)
Монитор активности (встроен в систему) (В программах)
Дата datereplicant нет Скачайте пакет вручную: clasquin-johnson.co.za/packages/datereplicant-0.1-4-x86_gcc2.hpkg
Репликант для перерыва
работы за компьютером
workbetter нет Скачайте пакет вручную: clasquin-johnson.co.za/packages/datereplicant-0.1-4-x86_gcc2.hpkg
Сеть Vision vision IRC-клиент, встроен в систему
Минусы: irc-канал нельзя добавить вручную, так же его нельзя добавить в «избранное».
Qupzilla qupzilla_x86 qupzilla Веб-браузер похожий на firefox
QutIM qutim IM-клиент для IRC/MRIM
Чтобы сохранить IRC-канал в избранное, после добавления кликните по нему правой кнопкой и выберите «присоединяться автоматически».
Otter otter_browser_x86 otter_browser «Клон» Opera 12
Dooble dooble_x86 dooble Webkit-браузер
Qbittorrent qbittorrent_x86 qbittorrent Торрент-клиент
Transmission transmission_x86 transmission Торрент-клиент
Opera v3.6.2 opera нет Скачайте пакет вручную: clasquin-johnson.co.za/packages/opera-3.6-2-x86_gcc2.hpkg
QuiteRSS quiterss_x86 quiterss RSS-клиент с встроенным браузером
Bepodder bepodder RSS-клиент
FRiSS friss нет RSS-клиент
Haiku-server (Poorman) (встроен в систему) Простенький веб-сервер
Beam Почтовый клиент
Psi+ psi_plus_x86 psi_plus Jabber-клиент (XMMP)
Caya caya IM-клиент MSN, AIM, Jabber, Gtalk и FB
Chat chat нет Jabber-клиент (XMMP)
Jabber jabber4haiku Jabber-клиент (XMMP)
FtpPositive ftppositive FTP-клиент
MailNews mailnews нет Форк Thunderbird для Haiku
Trojita trojita_x86 trojita QT email-клиент
Dooble dooble_x86 dooble Веб-браузер (2008)
Telegram telegram_desktop_x86 telegram_desktop
BeGet beget нет Простенький менеджер загрузок
Netsurf netsurf_x86 netsurf Веб-браузер
Yodownet yodownet_x86 yodownet Менеджер загрузок
Образование Kstarts kstarts Планетарий
TuxMath tuxmath_x86 tuxmath Обучающая игра по математике (на английском)
TuxType tuxtype2_x86 tuxtype2 Обучающая игра по вводу текста (на английском)
Qcad qcad_x86 qcad Opensource CAD-система
Celestia celestia_x86 celestia
Colobot colobot_x86 colobot стратегия с элементами программирования (обучение программированию)
Утилиты Монитор активности (встроен в систему) Только отображает состояние ресурсов.
Монитор процессов (встроен в систему) Вызывается нажатием на Ctrl+Alt+Del. Позволяет завершить/убить зависшее приложение или перезагрузить систему.
Slayer slayer Утилита для мониторинга использования процессами процессора и памяти, а так же для изменения их приоритетов и завершения
Qemu qemu_x86 qemu Виртуальная машина. Без GUI. Гуглите как пользоваться, если не знаете.
Liftoff liftoff Скачайте пакет вручную: clasquin-johnson.co.za/packages/liftoff-0.2-1-x86_gcc2.hpkg (x64) Лаунчер в виде списка.
Genesis Commander genesis_commander Двухпанельный файловый менеджер а-ля TC.
Bescreencapture bescreencapture Программа для скринкаста.
Beezer beezer нет Архиватор. Аналог WinZip, WinRAR, 7zip для Haiku
BeFar befar Двухпанельный файловый менеджер в стиле Far
Bartlauncher bartlauncher нет Скачайте пакет вручную: clasquin-johnson.co.za/repo/packages/bartlauncher-1.0-3-x86_gcc2.hpkg Удобный поисковик.
DockBert dockbert Модифицированный Deskbar от YellowTab
Simple Backup simplebackup нет Утилита для резервного копирования. Можно забекапить как весь раздел, так и определенный каталог (/boot/home/config или /boot/system/settings). Для восстановления достаточно просто распаковать архив в корень раздела.
Lbackup lbackup_x86 нет Еще одна утилита для резервного копирования. В отличие от Simple Backup, экспортирует настройки программ выборочно (можно выбирать конкретные программы для бекапа) и раздельно (сохраняет настройки каждой программы в виде zip-архива в /home/lbackup). Из репозитория software.besly.de.
Menusorter menusorter_x86 нет Программа для упорядочивания меню Haiku. Из репозитория software.besly.de.
Keymap Switcher keymapswitcher Пакет для переключения раскладки + значок в трей
FilWip filwip Утилита для очистки временных и ненужных файлов
Fontboy fontboy Утилита для просмотра установленных в систему шрифтов
Testdisk testdisk_x86 testdisk Программа для восстановления данных
Lnlauncher lnlauncher Панель для запуска
SuperPrefs superprefs Панель настроек
Midnight Commander mc Консольный файловый менеджер
ISOFileCreator isofilecreator нет Утилита для создания ISO-файлов. Из репозитория software.besly.de
Clipdinger clipdinger Менеджер буфера обмена
Add-ons CopyNameToClipboard copynametoclipboard копирует путь файла/каталога в буфер обмена
Lava lava нет утилита для записи дисков
PecoRename pecorename утилита для массового переименования

Приложения

Прежде чем перейти к приложениям, поставляющимся с Haiku, давайте рассмотрим, как именно устанавливать и удалять программы. Наиболее удобный способ искать, устанавливать, обновлять и удалять приложения — посредством системы управления пакетами Haiku. Однако, поскольку Haiku в значительной степени совместима со своей предшественницей, BeOS, вы можете найти устаревшие архивы (.zip и .pkg), которые, тем не менее, могут быть также установлены.

Ниже вы увидите частое упоминание иерархии /system/. Если вы планируете устанавливать приложения лишь для одного пользователя (как только Haiku станет многопользовательской ОС), вам нужно использовать зеркальную файловую иерархию с домашним каталогом: ~/config/. Посетите раздел Иерархия файловой системы для получения более подробной информаци.

Наиболее простой способ — использование приложения Склад (HaikuDepot) для поиска, автоматической установки и удаления пакетов. Если вы скачали пакет из другого источника ———— возможно, потому что он (еще) не доступен в публичном репозитории ———— всего лишь кликните двойным щелчком для открытия в HaikuDepot и установки из него.

Все новые приложения находятся в /system/apps/ или, в случае программ для командной строки, в /system/bin/. Остальные файлы, от которых зависит приложение (библиотеки, данные, расширения и т.д.) будут автоматически рассортированы по соответствующим папкам.

В темах Панель задач (Deskbar) и Панель запуска (LaunchBox) описано, как добавить значок для новых приложений.

Кстати, несмотря на то что вы можете распаковать файл .hpkg как любой другой архив, пакетный менеджер выполняет иную работу при установке пакета. Файловая система только на первый взгляд распределяет файлы по соответствующим папкам, физически они никуда не перемещаются. Вот почему процедура установки и удаления столь быстра и не оставляет «мусора».

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

Удаление столь же простое: всего лишь найдите пакет в «Складе» и нажмите Удалить.

Если вы используете командную строку или хотите выполнить установку/удаление пакетов при помощи скрипта, воспользуйтесь командой pkgman —help.

Архивы BeOS, содержащие все необходимое в собственной папке, нужно лишь распаковать (двойной клик откроет Expander или старое приложение PackageInstaller) где-нибудь в /boot/home/ и запускать оттуда. Для удаления таких автономных приложений достаточно удалить папку программы.

Это справедливо для большинства приложений BeOS. Если же вы обнаружили программу, не работающую «из коробки» из-за желания распределить файлы по жестко заданным каталогам, которые могут отсутствовать, вы можете исправить проблему вручную. Папка /system/non-packaged/ позволяет вам воссоздать требуемую иерархию. С появлением все большего количества полноценных пакетов .hpkg и переупаковкой приложений BeOS, это будет требоваться все реже. Пожалуйста, прочтите это руководство, объясняющее, как использовать иерархию non-packaged.

Haiku поставляется с небольшим набором необходимых приложений. Вы можете найти их по адресу /boot/system/apps/. Приложения, которые обычно не запускаются по двойному клику по файлу (например, ShowImage для просмотра изображений) могут быть найдены в меню панели Deskbar.

Помимо обычных терминальных приложений, которые идут вместе с оболочкой bash и которые требуются для POSIX совместимости, также поставляются Haiku-приложения для командной строки. Эти приложения обычно очень полезны при написании сценариев, рекомендуется также изучить тему Bash и написание сценариев.

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

BePDF Приложение для просмотра PDF-документов.
Pe Продвинутый редактор кода с подсветкой синтаксиса и многим другим.
Vision IRC-клиент.
WonderBrush Растровый и векторный редактор от YellowBite.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *