Мій другий день з Haiku: захоплений, але поки не готовий перейти

Мій другий день з Haiku: захоплений, але поки не готовий перейти
TL;DR: я захоплений Haiku, але доопрацювати є що

Вчора я вивчав Haiku - Операційну систему, яка мене приємно здивувала. День другий. Зрозумійте правильно: я все ще захоплений тим, наскільки легко вона робить те, що тяжко дається на робочих оточеннях для Linux. Горю бажанням дізнатися, як вона працює, а також сповнений ентузіазму використовувати її щодня. Щоправда, день для повного переходу ще не настав: страждати не хочеться.

Мій другий день з Haiku: захоплений, але поки не готовий перейти
Растровий графічний редактор WonderBrush – якщо ви знаєте, де його знайти

В принципі, очікувано для версії нижче 1.0. Однак не варто применшувати дивовижні досягнення, пам'ятаючи Mac OS X у її передрелізні дні, та з урахуванням розміру команди Haiku.

Я зазвичай висловлюю свої думки про #LinuxUsability (частина 1, частина 2, частина 3, частина 4, частина 5, частина 6), так що не варто дивуватися причіпкам до Haiku у плані зручності використання. Більшість із них, на щастя, відносяться до різних удосконалень.

Це була передмова, а тепер звернемо увагу на деякі неприємності.

Неприємність №1: неполадки із браузером

Є 3 браузери, засновані на WebKit: Основний (WebPositive) і два додаткові на Qt (QupZilla, застаріла назва Фалькон, І OtterBrowser), які можуть бути встановлені з репозиторію. Жоден не працює коректно. У основного браузера є проблеми з функціональністю та малюванням (наприклад, неможливо вирішити captcha при вході в Haiku bugtracker), а у додаткових – великі проблеми з продуктивністю на Haiku.

Мій другий день з Haiku: захоплений, але поки не готовий перейти
Так виглядає Twitter у WebPositive, основному браузері Haiku

QupZilla та OtterBrowser сильно кладуть на ненадійні з'єднання з Інтернетом (наприклад, у поїзді). Переключення між вкладками стає неможливим, якщо дані не влітають безперебійно. Неможливо відкрити нову вкладку доти, доки поточна завантажує дані по мережі. Все тупить, незважаючи на мале завантаження. Мабуть браузери не повністю оптимізовані під багатопоточність Haiku, або мають інші проблеми з Haiku [на Linux у мене теж так іноді буває. прим. перекладача].

З QupZilla мені не вдалося щось написати на Medium…

Компанія Apple зробила багато для забезпечення стабільної роботи браузера з відмінною продуктивністю. Мені здається, що ці вкладення окупляться і на Haiku. Особливо з урахуванням зростання важливості веб-додатків, а тим більше з урахуванням того, що рідні програми поки що не доступні для всіх варіантів використання.

Розповідь Kenneth Kocienda та Richard Williamson: як з'явилися Safari та Webkit

Неприємність №2: Launcher та Dock

У правому верхньому кутку екрана розташований Deskbar, химерна суміш, виготовлена ​​з меню «Пуск» від Windows з вкрапленнями функцій Dock та деякими іншими можливостями.

Мій другий день з Haiku: захоплений, але поки не готовий перейти
Deskbar

Оскільки це був, можливо, ключовий елемент досвіду користувача для BeOS, йому не вистачає можливостей сучасного робочого оточення: мені потрібен засіб запуску програм, начебто Прожектор, що запускається через Alt+пробіл. Запуск програм по клацанню повільний. Є інструмент «Знайти», який виглядає як Штірліц під прикриттям, але він не розрахований на зручний запуск програм, навіть якщо йому надати прискорення.

Мій другий день з Haiku: захоплений, але поки не готовий перейти
Spotlight на Mac OS X Leopard, запущений за Command + пропуск

є LnLauncher, що встановлюється в HaikuDepot. При першому запуску він повністю порожній, і не зовсім зрозуміло, як до нього щось додати. До того ж він з'являється над зовсім зручному місці екрана без очевидного способу зміни позиції. Ну як мені поставити його зліва або внизу екрана, як Dock у Mac OS X? Вважаю, що UX у цьому випадку не пізнаний.

DockBert, також встановлюваний з HaikuDepot. Вже краще. Відображається внизу екрана. Трохи не очікував, що порядок ікон буде зворотним: кошик на початку, але в цілому виглядає багатообіцяюче.

Як виставити його за замовчуванням замість Deskbar? Якщо клацнути по іконці Deskbar в DockBert і вибрати "закрити" - він, звичайно, закриється ... і з'явиться через півсекунди. (Розробники сказали, що це, в принципі, bug в DockBert). Було б непогано, якби DockBert був досить розумним, розуміючи, що потрібно користувачеві та роблячи це. За замовчуванням, у DockBert немає іконок додатків, але він показує «тягни сюди», тому відомо, як все додати. Однак мені не вдалося видалити програми — ні клацаючи правою кнопкою миші, ні перетягуванням іконки з DockBert.

пробую HiQDock. Я його випадково знайшов у сторонньому репозиторії. Виглядає так, як мені хочеться. З упором на «виглядає». Тому що він поки що не працює: все ще є Beta-версія. Він написаний на Qt4, тому сумніваюся, що його заберуть в настановний образ.

Мій другий день з Haiku: захоплений, але поки не готовий перейти
HiQDock.

В принципі, не тільки я вважаю, що ситуація з Dock та Launcher складна. На цю тему я навіть знайшов цілу статтю.

Мій другий день з Haiku: захоплений, але поки не готовий перейти
Швидкий запуск

Потім я дізнався про Швидкий запуск, який рекомендується запускати, додавши поєднання кнопок у налаштуваннях Shortcuts.

Мій другий день з Haiku: захоплений, але поки не готовий перейти
Налаштування Shortcuts в Haiku

Було б непогано, якби такі речі були налаштовані, щоб «просто працювати» за умовчанням. Я сказав Alt+пробіл? Ну, в принципі QuickLaunch може при першому запуску запитати, чи потрібно налаштувати поєднання клавіш. Робити це в налаштуваннях Shortcuts громіздко.

Мій другий день з Haiku: захоплений, але поки не готовий перейти
Вікно, в якому пропонується ввести програму в налаштуваннях Shortcuts. Без жартів

Готовий сперечатися, що більшість користувачів не знають, що треба ввести як «додаток», а саме: /boot/system/apps/QuickLaunch (просто QuickLaunch не працює).

Швидке рішення: поставити QuickLaunch за замовчуванням і призначити ярлик alt+пробіл за замовчуванням.

На щастя, у мене є інформація від розробників, що в якийсь момент вони, можливо, включать його як покращення або заміни старого доброго Deskbar. Може… колись… Схрестимо пальці! (Залишіть заявку, або її так і не буде. Ось тут). Ще один розробник сказав, цитата: "На мою думку, слідувати шляхом Windows, тобто включити поле пошуку в початкове меню, це досить просто для Beta-версії, я б сказав, це буде мати величезне значення для багатьох". Згоден! (Знову ж таки: заявка або не буде).

А чому QuickLaunch знаходить програму для створення знімків екрану двічі, /boot/system/apps і в /boot/system/bin? Розробники в курсі, оскільки у файлі /boot/system/apps/QuickLaunch/ReadMe.html.

/system/bin раніше не оброблявся, портовані програми часто потрапляють у каталог /bin, а це - погана витівка. Можна прибрати небажані програми CLI, наприклад за допомогою кнопки «Додати до списку ігнорування» в контекстному меню

швидке рішення: фільтрувати програми з /system/bin, що існують також у /system/apps

Неприємність №3: немає апаратного прискорення

BeOS була обвішана демонстраційними програмами. Жодне відео з BeOS не обходилося без безлічі вікон з різними відеороликами, що відтворюються. Дивовижне досягнення на той час. Haiku поставляється з 3D-демонстраційними програмами, що показують 3d-шрифти, що рухаються в космосі. (Гей, адже Haiku не готують до IPO, а?)

BeOS у 1995, на ідеях якої заснована Haiku. У той час працювала на двох процесорах PowerPC 603 із тактовою частотою 66 МГц

Ми хочемо стати Linux у світі звуку та відео.

-Жан-Луї Гессе, генеральний директор

Що дивно, відео та 3D насправді не прискорюються апаратно у Haiku. Я вважаю, що ігри також.

У розробників mr. waddlesplash и Alex von Gluck є документація для апаратного прискорення («потрібно близько двох людино-місяців»). 3D прискорення буде через Mesa (Haiku, як уже говорилося, використовує Mesa і LLVMPipe як базу для OpenGL), для відео можна спертися на FFmpeg або зробити власне рішення (я знаю, що Haiku вже використовує FFMpeg всередині, просто без прискорених драйверів неможливо використовувати VDPAU або інший подібний API).

Схрестимо пальці!

Неприємність №4: не шукаються програми

Я знаю, що вже досить багато програм CLI портовано для Haiku, але я не бачу їх в HaikuDepot. Немає навіть натяків. У командному рядку немає команд «haiku…» чи «port…»

~/testing> haikuports
bash: haikuports: command not found

Гуляючи, я знайшовзвідки скачав avrdude. При запуску подвійним клацанням з'явилося вікно з незадоволеними залежностями. Було б непогано, щоби таке не траплялося. (Одна з причин, чому мені так подобаються пакети .app для Mac та AppImage для Linux).

Від розробників дізнався, що «теоретично» є система, що запобігає цьому. Мабуть їй потрібно більше кохання.

Що треба зробити? Тут є інструкції для тих, хто бажає портувати програми для Haiku, але немає інструкцій для тих, хто просто бажає користуватися портованими програмами. Отут я і встряв.

Розробник сказав мені: «Ми не згадуємо про HaikuPorts, тому що 99.9% користувачів не зобов'язані знати чи піклуватися про те, як саме ці пакети створюються та з'являються у HaikuDepot». Згоден. Розмова про HaikuDepot, і про те, як отримати щось звідти, тому що інтерфейс HaikuDepot це не показує (наприклад, avrdude cli). Очевидно, повинен бути прапорець, що відображає програми CLI в інтерфейсі HaikuDepot, але я його не знайшов, а може, його й не існує. («Рекомендовані» або «Всі пакети»… воно вам треба? Ні, не хочу дивитися «всі» пакети, припускаю, що буде показано безліч бібліотек. Щось на зразок старого доброго Синаптик).

Натомість я знайшов. Також не в курсі, як його поставити (Кажуть, що HaikuArchives це «сховище програмного забезпечення, що підтримується», а також, що «всі варті програми вже є в HaikuPorts» — потрібні інтегратори).

Ще трохи погуглів, я виявив:

/> pkgman search avrdude​Status Name Description
-------------------------------
avrdude A tool to up/download to AVR microcontrollers

Ух ти! Було б непогано зробити цю команду помітнішою. Один з розробників підтвердив, що pkgman — cli аналог для HaikuDepot. Чому ж її тоді не назвали haikudepot?

Насамперед я поставив command_not_found-0.0.1~git-3-any.hpkg. Тепер можу робити так:

/> file /bin/bash
DEBUG:main:Entered CNF: file
This application is aviaiblible via pkgman install file

швидке рішення: додати command_not_found-*-any.hpkg за замовчуванням.

Розробник Haiku вважає, що "в Haiku, на відміну від Linux, немає реальної потреби в command-not-found", тому що "можна просто запустити pkgman install cmd: commandname". Ну звідки мені, простому смертному, знати про це?!

Пакети, менеджери пакетів, залежність. Той, що в Haiku, звичайно набагато розумніший, ніж більшість, але все ж таки це менеджер пакетів:

/> pkgman install avrdude100% repochecksum-1 [65 bytes]
Validating checksum for Haiku…done.
100% repochecksum-1 [64 bytes]
Validating checksum for HaikuPorts... done.
100% repocache-2 [951.69 KiB]
Validating checksum for HaikuPorts... done.
Encountered problems:
problem 1: nothing provides lib:libconfuse>=2.7 needed by libftdi-1.4–7
solution 1:
- do not install “providing avrdude”
Please select a solution, skip the problem for now or quit.
select [1/s/q]:

Менеджери пакетів роблять те, що завжди так чи інакше роблять менеджери пакетів незалежно від операційної системи. Є причина, через яку мене тягне — я вже казав, ні? - До пакетам .app та AppImages.

Крім цього, тут відсутні деякі дуже популярні програми з відкритим вихідним кодом:

/> pkgman install inkscape
100% repochecksum-1 [65 bytes]
Validating checksum for Haiku…done.
100% repochecksum-1 [64 bytes]
Validating checksum for HaikuPorts…done.
*** Failed to find a match for “inkscape”: Name not found

Відповідь розробників: "Оскільки немає Gtk - не буде Inkscape". Зрозумів. Ще один розробник додав: "Зате у нас є дивовижний WonderBrush". Не знав про таке, але ж його не видно в HaikuDepot, та й звідки б? (поправка: треба було перейти на вкладку «Всі пакети»! Цілком прогав цей момент!)

/> pkgman install gimp
100% repochecksum-1 [65 bytes]
Validating checksum for Haiku... done.
100% repochecksum-1 [64 bytes]
Validating checksum for HaikuPorts... done.
*** Failed to find a match for “gimp”: Name not found​/> pkgman install arduino
100% repochecksum-1 [65 bytes]
Validating checksum for Haiku... done.
100% repochecksum-1 [64 bytes]​
Validating checksum for HaikuPorts... done.
*** Failed to find a match for “arduino”: Name not found

Мені відомо, що «arduino був там раніше»… куди все поділося?

Крім іншого, мене здивував факт «технічномовності»: стільки рядків виводиться просто так, щоб наприкінці видати: «це програмне забезпечення недоступне».

Неприємність №5: різні шорсткості, які варто підправити

Перемикання між програмами

Нудно без alt+tab для перемикання програм. Сtrl+tab працює, але якось кривенько.

Підказка від розробників: якщо я увімкну розкладку від Windows, Cmd та Ctrl поміняються місцями, і alt+Tab стане звичним. Але я хочу відчувати Mac, працюючи за клавіатурою від ПК!

Зауваження від розробників: "Переключення ctrl+tab на alt+tab здивує деяких користувачів". Просте рішення: увімкнути обидва! (я, як користувач Mac, Windows і Linux з Gnome, KDE, Xfce, все одно не знаю, чого очікувати).

Мій другий день з Haiku: захоплений, але поки не готовий перейти
Перемикання програм через ctrl+tab за допомогою Twitcher. Місцями він з'являється, іноді не з першого разу

Що ще гірше: ctrl+tab іноді показує вікно з іконками додатків, а іноді ні. Крім іншого, порядок перемикання додатків виглядає випадковим: StyledEdit-WebPositive-назад StyledEdit-WebPositive-StyledEdit-вікно з іконками додатків… Програмна помилка? (Може, хто знає, чи є інструмент запису Gif-зображень для Haiku?) Виправлення: це така особливість, а не помилка

Коротке натискання ctrl+tab перемикає безпосередньо на попередній додаток без відображення вікна Twitcher. Якщо утримувати поєднання довше, то виходить те, до чого я вже звик.

Клавіші швидкого доступу

Якщо говорити про комбінації клавіш, то як тільки ви зрозуміли, що все схоже з Mac - автоматично спробуєте використовувати звичні поєднання ... Наприклад, в діалогових вікнах "Відкрити ..." і "Зберегти як ..." мені хочеться натиснути alt + d для каталогу "робочий" стіл», та й так далі.

У розробників «є можливість додати це», «у заявку на покращення файлових діалогів». Я б створив таку заявку, якби місцевий issue tracker на GitHub або GitLab, де у мене є облікові записи.

Але, як я вже пояснив раніше, я не можу зареєструватися у їхній системі. (Як ви вже напевно здогадалися, я хочу наголосити на легкості при роботі з подібними речами при використанні загальнодоступних сервісів типу GitHub або GitLab). Виправлення: https://dev.haiku-os.org/ticket/15148

невідповідності

Програми на Qt і «рідні» програми відрізняються поведінкою. Наприклад, можна видалити останнє слово за допомогою alt+backspace у додатках на Qt, але неможливо у рідних. Можливо, є й інші відмінності під час редагування тексту. Хотілося б, щоби такі невідповідності прибрали.

Виправлення: я ще не закінчив писати цю статтю (я показав її спочатку на каналі розробників Haiku для збору коментарів), як з'ясувалося, що цю невідповідність виправили! Неймовірно! Як же я люблю проекти з відкритим кодом! Дякую, Kacper Kasper!

Примітки

Я все ще в процесі вивчення Haiku, а вона продовжує мене вражати. Незважаючи на те, що сьогодні я зосередився на описі неприємностей, не можу не нагадати, чому ця операційна система така інтригуюча. Нижче кілька прикладів. Просто нагадування, щоб побачити, як у Haiku робляться концептуально правильні речі.

Якщо двічі клацнути по файлу, що виконується, у якого немає потрібних бібліотек, в Linux нічого не видно. У Haiku з'явиться приємний графічний діалог із інформацією про проблему. Давно мріяв про подібні речі в Linux, і досі в захваті від того, що це зроблено правильно в Haiku. Цим прикладом показано, що операційна система є узгодженою усім рівнях. Результат – елегантність, краса та простота, навіть у таких випадках, як обробка помилок.

Цікаве заглядання під капот.

Документація щодо QuickLaunch свідчить:

Можливо 2 причини, з яких QuickLaunch не знайде додаток:

  • Програма знаходиться не на розділі з BeFS або розділ BeFS не відформатований для підтримки запитів.
  • Програма не має належного атрибуту BEOS:APP_SIG. У цьому випадку попросіть розробника програми додати його, або спробуйте
    такій пораді: якщо ви використовуєте програму або скрипт, які не відображаються в QuickLaunch (і знаходяться в доступному для запису місці) — спробуйте додати ці атрибути в терміналі.

    addattr BEOS:TYPE application/x-vnd.Be-elfexecutable /path/to/your/app-or-script

    addattr BEOS:APP_SIG application/x-vnd.anything-unique /path/to/your/app-or-script

Це дає деяке уявлення про те, як насправді працює магія, подібна до Launch Services, якою я продовжую захоплюватися (і яка геть-чисто відсутня в робочих оточеннях на Linux).

Не менш цікаво «Відкрити за допомогою…»

Виберіть файл, натисніть alt+I, після чого на інформаційному екрані можна вибрати, яка програма може відкривати певний файл.

Мій другий день з Haiku: захоплений, але поки не готовий перейти
У Haiku я можу перевизначити програму для відкриття одного конкретного файлу. Круто?

Все це працює, навіть при відсутньому розширенні імені файлу, і я можу нарешті вказати для різних файлів одного типу, що вони повинні відкриватися в різних додатках, що дуже складно, якщо не майже неможливо, в робочих оточеннях Linux.

Висновок

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

Жоден із них не зупинить роботу. Я реально схвильований майбутнім цієї особистої операційної системи для настільних комп'ютерів. Це довгоочікуваний розвиток за межами «робочих оточень Linux», які продовжують показувати серйозні найближчим часом. архітектурні проблеми.

Сподіваюся на Haiku.

Спробуйте самі! Адже проект Haiku надає образи для завантаження з DVD або USB, що формуються щодня. Для встановлення достатньо завантажити образ та записати його на флешку за допомогою Etcher

Постали питання? Запрошуємо вас до російськомовної telegram-канал.

Огляд помилок: Як вистрілити собі в ногу у C та C++. Збірник рецептів Haiku OS

Від автора перекладу: це друга стаття із циклу про Haiku.

Список статей: перша

Джерело: habr.com

Додати коментар або відгук