
TL;DR: може да стане великолепна настолна операционна система с отворен код. Наистина го желая, но все още се нуждае от много корекции.
, неочаквано добра операционна система. Сега е трети ден и ми харесва толкова много, че не спирам да разсъждавам: как мога да я направя операционна система за всекидневна употреба? По общи идеи, повече ми харесва Mac, но за съжаление: той е предлаган без отворен код и трябва да търсим алтернативи с отворен код.
През последните 10 години това най-често означаваше Linux, но и той има своите .

Операционната система Haiku, представена на DistroTube.
Опитах Haiku веднага щом научих за нея и бях веднага впечатлен — особено от работната среда, която „просто работи“, и явно значително надминава всяка Linux работна среда, която познавам концептуално. Искам-искам-искам!!!
Нека на третия ден да видим реална работа!
Липсващи приложения
Достъпността на приложенията е доста „съдбоносен“ аспект на всяка операционна система, тема. Щом става дума за Haiku, знам, че за повечето случаи има различни налични опции.
Но все пак не мога да намеря приложения за ежедневните си нужди:
- редактор за маркиране (например ). Разбира се, има , но изглежда, че няма нито бутони, нито клавиатурни съкращения за маркиране на текст. Има и , но той за маркиране на текст като вграден код или кодов блок.
- запис на екран в анимиран GIF (например ). Има BeScreenCapture, но той не може да го прави.
- Софтуер за 3D принтери (например, , ).
- 3D CAD (например , , или вграден в ). Има LibreCAD, но той е само 2D.
Модел на разработка
Какво точно е нужно на Haiku за успех, от гледна точка на наличните приложения? Разбира се, привличане на разработчици.
В момента екипът на разработчиците на Haiku е свършил невероятна работа по внедряването на различни популярни приложения, но за пълния успех на платформата е необходима възможността за лесно създаване на версии на приложения за Haiku. Сглобяването на приложение за Haiku трябва да бъде, в идеалния случай, още една опция в съществуващата матрица за сглобяване Travis CI или GitLab CI. Как една компания като Ultimaker, създател на популярен софтуер Cura за 3D принтери с отворен код, ще пристъпи към сглобяването на приложенията си за Haiku?
Убеден съм, че класическият подход с „партньор“ (които събират и поддържат пакети за определен Linux дистрибутив) не е мащабируем при дълъг списък от приложения. Може да се спори дали софтуерът за 3D принтери е в този списък, но, например, софтуерът за организиране на график в конкретно училище — по всяка вероятност е. , които са достъпни за всички операционни системи и под Linux най-често са обвити в , което означава разпространение на всички потребители без особени проблеми).
LibreOffice
Ясно е, че наличието на LibreOffice за Haiku е значително постижение, за което потребителите на BeOS само можеха да мечтаят, но не всичко е перфектно.
В моя случай (USB флаш памет Kingston Technology DataTraveler 100) стартирането отнема около 30 секунди, а разработчиците споменаха, че нормалното стартиране на приложенията не трябва да надвишава 4-5 секунди (в случай на обикновен хард диск [на моето SSD стартираше за по-малко от секунда, — бележка на преводача]).
Би било хубаво да виждаме напредъка при стартиране на голямо приложение, например, „превъртаща се икона“, смяна на курсора или нещо подобно. Eкранът на LibreOffice се появява само след няколко секунди, а до тогава не знаеш какво се случва.

Превъртащите се икони на приложенията са признак, че приложенията са стартирани.
- Клавишните съкращения, показани в менюто, са грешни (показва Ctrl+O, но всъщност работи Alt+O; провери: Alt+O работи, а Ctrl+O — не).
- Alt+Z не работи (например, в Writer).
- Проблемът „Application LibreOffice has aborted the shutdown process” [така е проектирано, — бележка на преводача].
Време за стартиране на приложенията
ЗАБЕЛЕЖКА: моля, восприемайте този раздел с известна доза критика. Производителността всъщност е отлична, ако се основавате на мнението на другите. Моите резултати обаче са драстично различни... предполагам, че особеностите на моята настройка и измерените досега стойности не са научни. Ще актуализирам този раздел, докато се появят нови идеи / резултати.
Производителността на стартиране на (не оригинални) приложения... не е толкова голяма, разликата е около 4-10 пъти. Както можете да забележите, беше използвано само 1 ядро на процесора при стартиране на не оригинални приложения, по неясна за мен причина.

Как виждам скоростта на стартиране на приложения.
Стартирането отнема около 40 секунди на флашка Kingston Technology DataTraveler 100, свързана към USB2.0 порт (стартирането на Krita AppImage отнема част от секундата на Xubuntu Linux Live ISO през USB2; нужни са повече тестове). Корекция: Около 13 секунди на SATA SSD с деактивиран ACPI.
Стартирането отнема 30 секунди на флашка Kingston Technology DataTraveler G4, свързана към USB2.0 порт (част от секундата на Xubuntu Linux Live ISO през USB 2; нужни са повече тестове) Корекция: По-малко от 3 секунди на SATA SSD с деактивиран ACPI.
Също така чух, че най-новите разработки ще подобрят производителността на SSD повече от 10 пъти. Очаквам с нетърпение.
Други рецензенти постоянно хвалят Haiku за бързата му работа. Интересно ми е, какво е нередно с моята система? Корекция: да, ACPI е счупен на моята система; ако го изключа — системата работи по-бързо.
Направих няколко теста.
#
# Linux
#
me@host:~$ sudo dmidecode
(...)
Handle 0x0100, DMI type 1, 27 bytes
System Information
Manufacturer: Dell Inc.
Product Name: OptiPlex 780
me@host:~$ lsusb
Bus 010 Device 006: ID 0951:1666 Kingston Technology DataTraveler 100
# On a USB 2 port
me@host:~$ sudo dd if=/dev/sdc1 of=/dev/null bs=64k count=4096
4096+0 records in
4096+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 7.03517 s, 38.2 MB/s
# On a USB 3 port
me@host:~$ sudo dd if=/dev/sdc1 of=/dev/null bs=64k count=4096
4096+0 records in
4096+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 2.08661 s, 129 MB/s
#
# Haiku - the exact same USB stick
#
/> dmidecode
# dmidecode 3.2
Scanning /dev/misc/mem for entry point.
# No SMBIOS nor DMI entry point found, sorry.
# On a USB 2 port
/> dd if=/dev/disk/usb/1/0/raw of=/dev/null bs=64k count=4096
4096+0 records in
4096+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 7.44154 s, 36.1 MB/s
# On a USB 3 port
/> dd if=/dev/disk/usb/1/0/raw of=/dev/null bs=64k count=4096
4096+0 records in
4096+0 records out
268435456 bytes (268 MB, 256 MiB) copied, 7.47245 s, 35.9 MB/sЗа пълна прозрачност проверих всичко на две различни машини с Linux и Haiku. Ако е необходимо — ще повторя тестовете на подобна машина. Все пак не е ясно защо приложенията стартират по-бавно, отколкото през usb2.0 на Linux. Актуализация: в syslog на тази машина има много грешки, свързани с USB. Така че посочените по-горе резултати може да не са типични за Haiku като цяло.
Както гласи известната поговорка: не можеш да измериш — значи, не управляваш. А тъй като има желание да се подобри производителността, мисля, че набор от тестове е на ред 🙂
Комбинации от клавиши
За потребителите, които преминават от други операционни системи, Haiku е наистина впечатляващ, когато става въпрос за комбинации от клавиши. Лично на мен ми харесват комбинациите в стил Mac, когато задържиш клавишa вляво от пробела («Ctrl» на клавиатурите на Apple, «Alt» на другите), докато въвеждаш буква или цифра. Тъй като Haiku наистина се справя добре в тази област, смятам, че следните варианти могат да се разгледат:
Комбинации от клавиши на работния плот и за него
Харесва ми, че мога да щракна върху иконата и да натисна Alt-O, за да я отворя, или да използвам по-традиционната комбинация Alt-надолу.
По същия начин, би било хубаво, ако можеше да натиснеш Alt-Backspace за преместване на файл в кошчето, в допълнение на Alt-T.
За показване на работния плот: би било полезно да се прилага Alt-H — за „Скриване“, и Shift-Alt-H — за „Скриване на всичко“. А, може би, би било добре да се въведе комбинацията Shift-Alt-D — за „Показване на работния плот“.
Комбинации в диалоговите прозорци
Отварям StyledEdit, въвеждам текст. Натискам Alt-Q. Програмата пита дали да запазя. Натискам Alt-D, за да «Не запазя», Alt-C за «Отмяна». Но това не работи. Опитвам да използвам стрелките, за да избера бутона. Също не работи. Повтарям същите действия в приложение на база Qt. Тук, поне, клавишите със стрелките работят за избор на бутона. (Контролите за избор на бутони първоначално бяха използвани в Mac OS X, но разработчиците изглежда са забравили за тази възможност оттогава.)
Комбинации за създаване на снимки на екрана
Беше божествено, ако можеше да натиснеш Alt-Shift-3 за снимка на целия екран, Alt-Shift-4 за появата на курсора, позволяващ избор на област от екрана, и Alt-Shift-5 за текущия активен прозорец с оформлението му.
Интересно, дали подобно нещо може да се настрои ръчно, но вероятно е невъзможно. Поне, такава моя опитност не донесе резултати [треба да опитам да го обвържа в скрипт! — забележка от преводача].
Почти. Но не съвсем. Игнорира се „-bw“, плюс необходимост от допълнителни настройки по подразбиране.
Други неща на клавиатурата
Чувства се загрижеността на разработчиците, затова ще продължа да описвам своя опит с клавиатурата в Haiku.
Невъзможно е да се въведат национални символи
Символ «`» е специален, той може да бъде част от друг символ (например «e») или самостоятелен. В различните операционни системи обработката му също варира. Например, не мога да въведа този символ на немската клавиатура в KWrite; ако се опитам да го въведа — нищо не се случва. При въвеждане на същия символ в QupZilla получавам «>>». В местните приложения символът се въвежда, но трябва да го натисна два пъти, за да се появи. За да го въведа три пъти (обикновено това е необходимо при маркиране на блокове с код, аз така постоянно го въвеждам), трябва да натисна бутона 6 пъти. На Mac ситуацията се обработва по-умно (достатъчни са три натискания, запазвайки нормалното въвеждане на диакритични знаци).
Java приложения
Липсва ли JavaFX? На помощ идва Java, нали? Но не съвсем:
pkgman install openjdk12_default
/> java -jar /Haiku/home/Desktop/MyMarkdown.jar
Error: Не можа да намери или зареди основния клас Main
Caused by: java.lang.NoClassDefFoundError: javafx/application/ApplicationНека да опитаме по друг начин:
/> /Haiku/home/Desktop/markdown-writer-fx-0.12/bin/markdown-writer-fx
Error: Could not find or load main class org.markdownwriterfx.MarkdownWriterFXApp
Caused by: java.lang.NoClassDefFoundError: javafx/application/ApplicationОказва се, че в реалния живот приложенията на Java не са толкова преносими, колкото обещават в рекламите. Има ли JavaFX за Haiku? Ако да — защо не се инсталира заедно с openjdk12_default?
Двойното кликване на jar файл не работи
Учуден съм, че Haiku не знае как да обработи двойното кликване на .jar файл.
Bash се държи странно
Тъй като има bash, се очаква, че pipes ще работят:
/> listusb -vv > listusb.txt
bash: listusb.txt: Invalid ArgumentЗаключение
Защо пиша тези статии? Според мен, светът реално се нуждае от операционна система с отворен код като Haiku, ясно насочена към PC, и още защото все повече ме дразни фактът, че работните среди за Linux . Не споря, че за да създам желаната потребителска среда за PC, е нужно напълно различно ядро или можем да получим подобна среда върху ядрото на Linux, но ме интересува какво ще кажат експертите по ядрата. А засега просто експериментирам с Haiku и правя бележки в надеждата те да са полезни за разработчиците на Haiku и/или заинтересованата общественост.
Опитайте сами! В края на краищата проектът Haiku предлага образи за зареждане от DVD или USB, генерирани . За инсталацията е достатъчно да изтеглите образа и да го запишете на флашка с помощта на .
Имате въпроси? Каним ви в рускоезичния .
Преглед на грешките:
От превод: това е третата статия от цикъл за Haiku.
Списък на статиите: , .
Източник: habr.com
