Моят трети ден с Haiku: започва да се очертава цялостната картина

Моят трети ден с Haiku: започва да се очертава цялостната картина
TL;DR: Хайку може да се превърне в великолепна настолна операционна система с отворен код. Наистина го желая, но все още са необходими много поправки.

Вече два дни изучавам Хайку, изненадващо добра операционна система. Сега е третият ден и ми харесва толкова много, че непрекъснато си мисля: как мога да я направя операционна система за всеки ден? По отношение на общите идеи, предпочитам Mac, но за съжаление: той идва без отворен код и трябва да търся алтернативи с отворен код.

През последните 10 години това най-често означаваше Linux, но той също има свои набор от проблеми.

Пуснете видеото

Операционната система Хайку, представена в DistroTube.

Опитах Хайку, веднага щом научих за него, впечатлен съм — особено от работното му пространство, което "просто работи", и очевидно значително превъзхожда всяко работно пространство за Linux, което познавам концептуално. Искам-искам-искам!!!

Нека на третия ден да видим реална работа!

Липсващи приложения

Достъпността на приложения е доста „съдбоносен“ аспект на всяка операционна система, стара тема. Откато става дума за Хайку, знам, че за повечето случаи има различни налични опции.

Все пак все още не мога да намеря приложения за моите ежедневни нужди:

  • редактор на маркиране (например Typora). Разбира се, има CuteMarkEd, но изглежда няма нито бутони, нито клавишни комбинации за маркиране на текст. Също така има Ghostwriter, но той няма клавишна комбинация за маркиране на текст като вграден код или блок от код.
  • запис на екран в анимиран GIF (например Peek). Има BeScreenCapture, но той не може да прави това.
  • Софтуер за 3D принтери (например, Ultimaker Cura, PrusaSlicer).
  • 3D CAD (например FreeCAD, OpenSCAD, или вграден в Onshape). Има LibreCAD, но той е само 2D.

Модел на развитие

Какво е нужно на Хайку за успех, от гледна точка на наличните приложения? Разбира се, да привлече разработчици.

В момента екипът на разработчиците на Haiku е извършил огромна работа по внедряването на различни популярни приложения, но за пълния успех на платформата е необходима възможността за лесно създаване на версии на приложения за Haiku. Сборката на приложение за Haiku трябва да бъде, в идеалния случай, още един вариант в съществуващата матрица на сборка Travis CI или GitLab CI. Как така компания като Ultimaker, създателя на популярния софтуер Cura за 3D-принтери с отворен код, ще се съгласи да компилира своите приложения за Haiku?

Убеден съм, че класическият подход с "поддържащия", който събира и поддържа пакети за определена дистрибуция на Linux, не може да се мащабира при дълъг списък с приложения. Може да се спори дали софтуерът за 3D-принтери е в този списък, но например софтуерът за организиране на разписанията на конкретно училище — е налице. Какво предлага Haiku за такива приложения? (Обикновено те са написани с използване на Electron, достъпни за всички операционни системи, под Linux най-често са обвити в AppImage, което означава доставка на всички потребители без особени проблеми).

LibreOffice

Разбираемо е, че наличието на LibreOffice за Haiku е значимо постижение, за което потребителите на BeOS можеха само да мечтаят, но не всичко е перфектно.

В моя случай (USB флашка Kingston Technology DataTraveler 100) за стартиране е необходимо около 30 секунди, а разработчиците подсказаха, че обичайното стартиране на приложения не трябва да надвишава 4-5 секунди (в случай на използване на обикновен хард диск [на моето SSD стартираше за по-малко от секунда, — бел. преводчика]).

Искаше ми се да виждам напредъка на стартирането на голямо приложение, например, "приближаваща иконка", смяна на курсора или нещо подобно. Стартовият екран на LibreOffice се появява едва след няколко секунди, а до тогава дори не знаеш какво се случва.

Моят трети ден с Haiku: започва да се очертава цялостната картина
Придвижващите се иконки на приложенията са признак, че приложенията вече са стартирали.

  • Клавишните комбинации, показвани в менюто, са неточни (показано е Ctrl+O, а действително е Alt+O, проверявах: Alt+O работи, а Ctrl+O — не).
  • Alt+Z не работи (например в Writer).
  • Проблемът "Application LibreOffice е прекратил процеса на затваряне" [така е замислено, — бел. преводчика].

Време за стартиране на приложенията

ЗАБЕЛЕЖКА: моля, приемайте тази част с доза критика. Производителността наистина е отлична, ако се основавате на мнението на други хора. Моите резултати обаче значително се различават... подозирам, че особеностите на моята настройка и направените до момента измервания са антинаучни. Ще обновявам тази част с нови идеи / резултати.

Производителността на стартиране на (не нативни) приложения... не е толкова висока, разликата е около 4-10 пъти. Както можете да забележите, само 1 ядро на процесора е използвано при стартирането на не родни приложения, по непонятна за мен причина.

Моят трети ден с Haiku: започва да се очертава цялостната картина
Как виждам скоростта на стартиране на приложения.

  • Стартиране Krita отнема около 40 секунди на флашка Kingston Technology DataTraveler 100, свързана към USB2.0 порт (стартът на Krita AppImage отнема част от секундата на Xubuntu Linux Live ISO през USB2; необходими са повече тестове). Корекция: Около 13 секунди на SATA SSD с изключен ACPI.

  • Стартиране LibreOffice отнема 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, когато задържиш клавиша наляво от интервала («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 за текущия активен прозорец с оформлението му.

Интересно е дали може да се настрои ръчно, но вероятно е невъзможно. По всяка вероятност, такъв опит не ми даде резултат [трябваше да опитам да го обви в скрипт! — бел. на преводача].

Моят трети ден с Haiku: започва да се очертава цялостната картина
Почти. Но не съвсем. Игнорира се «-bw», плюс са необходими допълнителни настройки по подразбиране.

Други неща на клавиатурата

Чувствува се грижата на разработчиците, затова ще продължа да описвам своя опит с клавиатурата на Haiku.

Невъзможно е да се въведат национални символи

Символ «`» е специален, той може да бъде както част от друг символ (например «e»), така и самостоятелен. В различни операционни системи неговата обработка също се различава. Например, не мога да въведа този символ на немската клавиатура в KWrite; ако се опитам да го въведа — нищо не се случва. При въвеждането на същия символ в QupZilla получавам «>>». В родните приложения символът се въвежда, но е необходимо двойно натискане, за да се появи. За да го въведа три пъти (обикновено това е необходимо при разметката на блокове с код, така го въвеждам постоянно), трябва да натисна бутона 6 пъти. В Mac ситуацията се обработва по-интелигентно (достатъчно са три натискания, запазвайки обичайното въвеждане на диакритични символи).

Java приложения

Няма ли JavaFX? Java идва на помощ, нали? Ами не съвсем:

pkgman install openjdk12_default
/> java -jar /Haiku/home/Desktop/MyMarkdown.jar
Грешка: Не е възможно да се намери или зареди основният клас Main
Причина: 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, се очакваше pipe-овете да работят:

/> listusb -vv > listusb.txt
bash: listusb.txt: Invalid Argument

Заключение

Защо пиша тези статии? Според мен светът наистина се нуждае от операционна система с отворен код като Haiku, ясно насочена към PC, а и защото все повече ме дразни фактът, че работните среди за Linux не действат в координация. Не оспорвам, че за да се създаде желаната потребителска среда за PC е необходимо съвсем различно ядро, или може да се получи аналогична среда над ядрото на Linux, но ме интересува какво ще кажат по този въпрос експертите по ядра. А засега просто се забавлявам с Haiku и правя бележки в надеждата, че те ще бъдат полезни за разработчиците на Haiku и/или заинтересованата общественост.

Опитайте сами! Проектът Haiku предоставя образи за зареждане от DVD или USB, генерирани ежедневно. За инсталиране е достатъчно да изтеглите образа и да го запишете на флашка с помощта на Etcher.

Имате ли въпроси? Присъединете се към нашия руски telegram-канал.

Преглед на грешките: Как да си простреляте крака в C и C++. Сборник рецепти Haiku OS

От автора Превод: това е третата статия от цикъла за Haiku.

Списък на статии: Първата, Втора.

Източник: habr.com

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster