Мой трэці дзень з Haiku: пачынае складацца цэласная карціна

Мой трэці дзень з Haiku: пачынае складацца цэласная карціна
TL; DR: Хайку можа стаць цудоўнай настольнай аперацыйнай сістэмай з адкрытым зыходным кодам. Мне праўда гэтага жадаецца, але патрабуецца яшчэ шмат выпраўленняў.

Два дні я вывучаю Haiku, нечакана добрую аперацыйную сістэму. Цяпер трэці дзень, а мне гэтая аперацыёнка падабаецца так моцна, што я няспынна разважаю: як бы зрабіць яе аперацыйнай сістэмай на кожны дзень? У плане агульных ідэй мне больш падабаецца Mac, але вось бяда: яна пастаўляецца без адчыненага зыходнага кода, і прыходзіцца шукаць альтэрнатывы з адчыненым зыходным кодам.

За апошнія лёт 10 гэта часцей за ўсё азначала Linux, але і ў яго свой набор праблем.

Аперацыйная сістэма Haiku, прадстаўленая на DistroTube.

Я паспрабаваў Haiku, як толькі пра яе даведаўся, быў адразу ж уражаны – асабліва з працоўным асяроддзем, якое «проста працуе», а таксама відавочна нашмат пераўзыходзіць любое працоўнае асяроддзе для Linux, якія я ведаю канцэптуальна. Жадаю-жадаю-жадаю!!!

Давайце на трэці дзень паглядзім рэальную працу!

Адсутныя прыкладанні

Даступнасць прыкладанняў – вельмі "лёсавызначальны" аспект любой аперацыйнай сістэмы, старая тэма. Калі гаворка ідзе пра Haiku, мне вядома, што для большасці выпадкаў ёсць розныя даступныя варыянты.

Аднак я да гэтага часу не магу знайсці прыкладанні для маіх паўсядзённых патрэб:

Мадэль распрацоўкі

Што ж трэба Haiku для поспеху, з пункту гледжання даступных прыкладанняў? Вядома ж, прыцягнуць распрацоўшчыкаў.

На бягучы момант камандай распрацоўшчыкаў Haiku, безумоўна, праведзена велізарная праца па ўкараненні розных папулярных прыкладанняў, аднак для поўнага поспеху, як платформы, патрэбна магчымасць лёгкага стварэння версій прыкладанняў для Haiku. Зборка прыкладання для Haiku павінна быць, у ідэальным выпадку, яшчэ адным варыянтам у існуючай матрыцы зборкі Travis CI ці GitLab CI. Ну як такая кампанія, як Ultimaker, стваральнік папулярнага ПА Cura для 3D-друкарак з адчыненым зыходным кодам, пайдзе на зборку сваіх прыкладанняў для Haiku?

Я перакананы, што класічны падыход з "суправаджальным", які збірае і падтрымлівае пакеты для вызначанага дыстрыбутыва Linux, не маштабуецца пры вялікім спісе прыкладанняў. Можна паспрачацца, ці ёсць ПЗ для 3D-друкарак у гэтым спісе, але, да прыкладу, ПЗ для арганізацыі раскладу канкрэтнай школы - знаходзіцца. Што прапануе Haiku для такіх прыкладанняў? (Звычайна яны напісаны з ужываннем Электрон, даступныя для ўсіх аперацыёнак, пад Linux часцей за ўсё абгорнутыя ў AppImage, што азначае дастаўку ўсім карыстальнікам без асаблівых праблем).

LibreOffice

Зразумела, што наяўнасць LibreOffice для Haiku - немалы подзвіг, аб якім карыстачы BeOS маглі толькі марыць, аднак не ўсё ідэальна.

У маім выпадку (Kingston Technology DataTraveler 100 USB stick) для запуску патрабуецца каля 30 секунд, а распрацоўнікі падказалі, што звычайны запуск прыкладанняў не павінен перавышаць 4-5 секунд (у выпадку выкарыстання звычайнай цвёрдай кружэлкі [на маім SSD усё запускалася менш секунды, заўв. перакладчыка]).

Хацелася б неяк бачыць прагрэс запуску вялікага прыкладання, да прыкладу, «скача іконку», змену курсора, ці нешта яшчэ ў гэтым родзе. Застаўка LibreOffice з'яўляецца толькі праз некалькі секунд, а да таго вы не ведаеце, што адбываецца.

Мой трэці дзень з Haiku: пачынае складацца цэласная карціна
Якія скачуць абразкі прыкладанняў як прыкмета таго, што прыкладанні запушчаныя.

  • Клавіятурныя скарачэнні, паказаныя ў меню, памылковыя (падпісана Ctrl+O, а па факце Alt+O, я правяраў: Alt+O працуе, а Ctrl+O — не).
  • Alt+Z не працуе (напрыклад, у Writer).
  • Праблема "Application LibreOffice has aborted the shutdown process" [гэта так задумана, - заўв. перакладчыка].

Час запуску прыкладанняў

УВАГА: калі ласка, успрымайце гэты раздзел з доляй крытыкі. Прадукцыйнасць насамрэч выдатная, калі спадзявацца на меркаванне іншых людзей. У мяне вынікі моцна адрозніваюцца… мяркую, што асаблівасці маёй наладкі і зробленыя да гэтага часу вымярэнні антынавуковыя. Буду абнаўляць гэты раздзел па меры з'яўлення новых ідэй/вынікаў.

Прадукцыйнасць запуску (не натыўных) прыкладанняў… не так ужо вялікая, розніца прыкладна ў 4-10 разоў. Як вы можаце заўважыць, было скарыстана толькі 1 ядро ​​працэсара пры запуску не родных прыкладанняў, па незразумелай мне чынніку.

Мой трэці дзень з Haiku: пачынае складацца цэласная карціна
Як я бачу хуткасць запуску прыкладанняў.

  • запуск крэйда займае каля 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
Error: Could not find or load main class 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, відавочна арыентаваная на ПК, і яшчэ таму, што мяне ўсё больш ятрыць той факт, што працоўныя асяроддзі для Linux не дзейнічаюць разам. Я не спрачаюся, што для стварэння жаданага карыстацкага асяроддзя для ПК трэба зусім іншае ядро ​​ці можна атрымаць аналагічнае асяроддзе па-над ядром Linux, але мне цікава, што скажуць па гэтай нагодзе эксперты па ядрах. А пакуль я проста песціся Haiku і раблю нататкі ў надзеі, што яны апынуцца карыснымі для распрацоўшчыкаў Haiku і / або зацікаўленай грамадскасці.

Паспрабуйце самі! Бо праект Haiku падае выявы для загрузкі з DVD ці USB, фармаваныя штодня. Для ўстаноўкі дастаткова спампаваць вобраз і запісаць яго на флэшку з дапамогай гравёр.

Зьявіліся пытаньні? Запрашаем вас у рускамоўны telegram-канал.

Агляд памылак: Як стрэліць сабе ў нагу ў C і C ++. Зборнік рэцэптаў Haiku OS

Ад аўтара перакладу: гэта трэці артыкул з цыклу пра Haiku.

Спіс артыкулаў: Першая, Другая.

Крыніца: habr.com

Дадаць каментар