Мій третій день із Haiku: починає складатися цілісна картина
TL; DR:хайку може стати чудовою настільною операційною системою з відкритим вихідним кодом. Мені справді цього хочеться, але потрібно ще багато виправлень.
Два дні я вивчаю Haiku, несподівано хорошу операційну систему Зараз третій день, а мені ця операційка подобається так сильно, що я невпинно розмірковую: як зробити її операційною системою на кожен день? У плані спільних ідей мені більше подобається Mac, але біда: вона поставляється без відкритого вихідного коду, і доводиться шукати альтернативи з відкритим вихідним кодом.
За останні 10 років це найчастіше означало Linux, але і у нього свій набір проблем.
Операційна система Haiku представлена на DistroTube.
Я спробував Haiku, як тільки про неї дізнався, був відразу ж вражений - особливо з робочим оточенням, яке «просто працює», а також явно набагато перевершує будь-яке робоче оточення для Linux, яке я знаю концептуально. Хочу хочу хочу!!!
Давайте на третій день переглянемо реальну роботу!
Відсутні програми
Доступність додатків — дуже «долоносний» аспект будь-якої операційної системи, стара тема. Якщо йдеться про Haiku, мені відомо, що для більшості випадків є різні доступні варіанти.
Однак я досі не можу знайти програми для моїх повсякденних потреб:
редактор розмітки (наприклад Типора). Звичайно є cutemarkedале у нього, схоже, немає ні кнопок, ні клавіатурних скорочень для розмітки тексту. Також є Shutterstock,en, але в нього немає клавіатурного скорочення для позначення тексту у вигляді вбудованого коду або блоку коду.
захоплення екрана анімований GIF (наприклад Заглядати). Є BeScreenCapture, але він таке не вміє.
3D САПР (наприклад FreeCAD, OpenSCAD, або вбудований у Форма). Є LibreCAD, але він лише 2D.
Модель розробки
Що ж потрібно 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 з'являється лише через кілька секунд, а до того ви не знаєте, що відбувається.
Стрибки іконки додатків як ознака того, що програми запущені.
Клавіатурні скорочення, що показуються в меню, є помилковими (підписано 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.
запуск 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 для поточного активного вікна з його оформленням.
Цікаво, чи таке налаштовується вручну, але швидше за все це неможливо. Принаймні така спроба у мене результату не дала [треба було спробувати обернути на скрипт! - прим. перекладача].
Майже. Але не зовсім. Ігнорується "-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 будуть працювати:
Чому я пишу ці статті? На мою думку, світу реально потрібна операційна система з відкритим вихідним кодом на зразок Haiku, явно орієнтована на ПК, і ще тому, що мене все більше дратує той факт, що робочі оточення для Linux не діють спільно. Я не сперечаюся, що для створення бажаного користувача оточення для ПК потрібно зовсім інше ядро або можна отримати аналогічне оточення поверх ядра Linux, але мені цікаво, що скажуть з цього приводу експерти з ядрам. А поки що я просто балуюся Haiku і роблю нотатки в надії, що вони виявляться корисними для розробників Haiku та/або зацікавленої громадськості.
Спробуйте самі! Адже проект Haiku надає образи для завантаження з DVD або USB, що формуються щодня. Для встановлення достатньо завантажити образ та записати його на флешку за допомогою Etcher.
Постали питання? Запрошуємо вас до російськомовної telegram-канал.