СофтХабрахабр

[Перевод] Мой второй день с Haiku: восхищен, но пока не готов перейти


TL;DR: я восхищен Haiku, но доработать есть что

День второй. Вчера я изучал Haiku — операционную систему, которая меня приятно удивила. Горю желанием узнать, как она работает, а также полон энтузиазма использовать ее ежедневно. Поймите правильно: я все еще восхищен тем, насколько легко она делает то, что тяжело дается на рабочих окружениях для Linux. Правда, день для полного перехода еще не наступил: страдать не хочется.


Растровый графический редактор WonderBrush — если вы знаете, где его найти

0. В принципе, ожидаемо для версии ниже 1. Однако не стоит преуменьшать удивительные достижения, помня Mac OS X в ее предрелизные дни, и с учетом размера команды Haiku.

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

Это было предисловие, а теперь обратим внимание на некоторые неприятности.

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

Ни один не работает корректно. Есть 3 браузера, основанные на WebKit: основной (WebPositive) и два дополнительных на Qt (QupZilla, устаревшее название Falkon, и OtterBrowser), которые могут быть установлены из репозитория. У основного браузера есть проблемы с функциональностью и отрисовкой (к примеру, невозможно решить captcha при входе в Haiku bugtracker), а у дополнительных — большие проблемы с производительностью на Haiku.


Так выглядит Twitter в WebPositive, основном браузере Haiku

Переключение между вкладками становится невозможным, если данные не влетают бесперебойно. QupZilla и OtterBrowser сильно лагают на ненадежных соединениях с Интернетом (например, в поезде). Все тупит, несмотря на малую загрузку. Нереально открыть новую вкладку до тех пор, пока текущая загружает данные по сети. переводчика]. Вероятно браузеры не полностью оптимизированы под многопоточность Haiku, или имеют другие проблемы с Haiku [на Linux у меня тоже так иногда бывает — прим.

С QupZilla мне не удалось написать что-либо на Medium...

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

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

Неприятность №2: Launcher и Dock

В правом верхнем углу экрана расположен Deskbar, причудливая смесь, приготовленная из меню "Пуск" от Windows с вкраплениями функций Dock и некоторыми другими возможностями.


Deskbar

Запуск приложений по щелчку медленный. Поскольку это был, возможно, ключевой элемент пользовательского опыта для BeOS, ему не хватает возможностей современного рабочего окружения: мне нужно средство запуска программ, вроде Spotlight, запускаемое через Alt+пробел. Есть инструмент "Найти", выглядящий как Штирлиц под прикрытием, но он не рассчитан на удобный запуск приложений, даже если ему придать ускорения.


Spotlight на Mac OS X Leopard, запущенный по Command + пробел

При первом запуске он полностью пустой, и не совсем понятно, как в него что-либо добавить. Есть LnLauncher, устанавливаемый в HaikuDepot. Ну как мне поставить его слева или внизу экрана, как Dock в Mac OS X? К тому же он появляется не в совсем удобном месте экрана без очевидного способа изменения позиции. Считаю, что UX в данном случае непознаваем.

Уже лучше. DockBert, также устанавливаемый из HaikuDepot. Немного не ожидал, что порядок иконок будет обратный: корзина в начале, но в целом выглядит многообещающе. Показывается внизу экрана.

Если щелкнуть по иконке Deskbar в DockBert и выбрать "закрыть" — он, конечно, закроется… и появится обратно через полсекунды. Как выставить его по-умолчанию вместо Deskbar? Было бы неплохо, если бы DockBert был достаточно умным, понимая, что нужно пользователю и делая это. (Разработчики сказали, что это, в принципе, bug в DockBert). Однако у меня не получилось удалить приложения — ни щелкая правой кнопкой мыши, ни перетаскиванием иконки из DockBert. По-умолчанию, в DockBert нет иконок приложений, но он показывает "тяни сюда", так что известно, как все добавить.

Я его случайно нашел в стороннем репозитории. Пробую HiQDock. С упором на "выглядит". Выглядит так, как мне хочется. Он написан на Qt4, так что сомневаюсь, что его заберут в установочный образ. Потому что он пока что не работает: все еще Beta-версия.


HiQDock.

По этой теме я даже нашел целую статью. В принципе, не только я считаю, что ситуация с Dock и Launcher сложная.


QuickLaunch

Потом я узнал о QuickLaunch, который рекомендуется запускать, добавив сочетание кнопок в настройках Shortcuts.


Настройки Shortcuts в Haiku

Я сказал Alt+пробел? Было бы неплохо, если бы такие вещи были настроены, чтобы "просто работать" по-умолчанию. Делать это в настройках Shortcuts громоздко. Ну, в принципе, QuickLaunch может при первом запуске спросить, нужно ли настроить сочетание клавиш.

Без шуток
Окно, в котором предлагается ввести "приложение" в настройках Shortcuts.

Готов спорить, что большинство пользователей не знают, что надо ввести в качестве "приложения", а именно: /boot/system/apps/QuickLaunch (просто QuickLaunch не работает).

Быстрое решение: поставить QuickLaunch по умолчанию и назначить ему ярлык alt+пробел по умолчанию.

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

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

Можно убрать нежелательные CLI приложения, к примеру с помощью кнопки "Добавить в список игнорирования" в контекстном меню /system/bin ранее не обрабатывался, портированные программы часто попадают в каталог /bin, а это — плохая затея.

быстрое решение: фильтровать приложения с /system/bin, существующие также в /system/apps

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

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

В то время работала на двух процессорах PowerPC 603 с тактовой частотой 66 МГц BeOS в 1995, на идеях которой основана Haiku.

Мы хотим стать Linux в мире звука и видео.

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

Я полагаю, что игры тоже. Что удивительно, видео и 3D на самом деле не ускоряются аппаратно в Haiku.

waddlesplash и Alex von Gluck есть документация для аппаратного ускорения («нужно порядка двух человеко-месяцев»). У разработчиков mr. 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, но нет инструкций тем, кто просто желает пользоваться портированными программами. Что же надо сделать? Тут-то я и встрял.

9% пользователей не обязаны знать или заботиться о том, как именно эти пакеты создаются и появляются в HaikuDepot". Разработчик сказал мне: "Мы не упоминаем о HaikuPorts, потому что 99. Разговор о HaikuDepot, и о том, как получить что-то оттуда, потому что интерфейс HaikuDepot это не показывает (к примеру, avrdude cli). Согласен. ("Рекомендуемые" или "Все пакеты»… оно вам надо? По всей видимости, должен быть флажок, отображающий приложения CLI в интерфейсе HaikuDepot, но я его не нашел, а может, его и не существует. Что-то вроде старого доброго Synaptic). Нет, не хочу смотреть "все" пакеты, предполагаю, что будет показано множество библиотек.

Также не в курсе, как его поставить (Говорят, что HaikuArchives это "хранилище поддерживаемого программного обеспечения", а также, что "все стоящие программы уже есть в HaikuPorts" — нужны интеграторы). Вместо этого я нашел.

Еще чуток погуглив, я нашел:

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

Было бы неплохо сделать эту команду более заметной. Ух ты! Почему же ее тогда не назвали haikudepot? Один из разработчиков подтвердил, что "pkgman — cli аналог для HaikuDepot".

0. Первым делом я поставил command_not_found-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". Не знал о таком, но его ведь не видно в HaikuDepot, да и откуда бы? Еще один разработчик добавил: "Зато у нас есть удивительный WonderBrush". Совершенно упустил этот момент!) (поправка: надо было переключиться на вкладку "Все пакеты»!

/> 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: различные шероховатости, которые стоит подправить

Переключение между приложениями

Сtrl+tab работает, но как-то кривенько. Скучно без alt+tab для переключения приложений.

Но я хочу чувствовать Mac, работая за клавиатурой от PC! Подсказка от разработчиков: если я включу раскладку от Windows, Cmd и Ctrl поменяются местами, и alt+Tab станет привычным.

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

Местами он появляется, иногда не с первого раза
Переключение приложений через ctrl+tab используя Twitcher.

Кроме прочего, порядок переключения приложений выглядит случайным: StyledEdit-WebPositive-обратно StyledEdit-WebPositive-StyledEdit-окно с иконками приложений… Программная ошибка? Что еще хуже: ctrl+tab иногда показывает окно с иконками приложений, а иногда — нет. (Может, кто знает, есть ли инструмент записи Gif-изображеинй для Haiku?) Поправка: это такая особенность, а не ошибка.

Если удерживать сочетания дольше, получается то, к чему я уже привык. Короткое нажатие сочетания ctrl+tab переключает непосредственно на предыдущее приложение без отображения окна Twitcher.

Shortcuts

Если говорить о сочетаниях клавиш, то как только вы сообразили, что все схоже с Mac — автоматически попробуете использовать привычные сочетания… К примеру, в диалоговых окнах "Открыть..." и "Сохранить как..." мне хочется нажать alt+d для каталога "рабочий стол", ну и так далее.

Я бы создал такую заявку, будь местный issue tracker на GitHub или GitLab, где у меня есть учетные записи. У разработчиков "есть возможность добавить это", "в заявку на улучшение о файловых диалогах".

(Как вы уже наверное догадались, я хочу подчеркнуть легкость при работе с подобными вещами при использовании общедоступных сервисов типа GitHub или GitLab). Но, как я уже пояснил ранее, я не могу зарегистрироваться в их системе. Поправка: https://dev.haiku-os.org/ticket/15148

Несоответствия

К примеру, можно удалить последнее слово с помощью alt+backspace в приложениях на Qt, но невозможно в родных. Приложения на Qt и "родные" приложения различаются поведением. Хотелось бы, чтобы такие несоответствия убрали. Возможно, есть и другие различия при редактировании текста.

Невероятно! Поправка: я еще не окончил писать эту статью (я показал ее сначала на канале разработчиков Haiku для сбора комментариев), как выяснилось, что это несоответствие исправили! Спасибо, Kacper Kasper! Как же я люблю проекты с открытым исходным кодом!

Примечания

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

В Haiku появится приятный графический диалог с информацией о проблеме. Если дважды щелкнуть по исполняемому файлу, у которого нет нужных библиотек, в Linux ничего не видно. Этим примером показано, что операционная система является согласованной на всех уровнях. Давно мечтал о подобных вещах в Linux, и до сих пор в восторге от того, что это сделано правильно в Haiku. Результат — элегантность, красота и простота, даже в таких случаях, как обработка ошибок.

Увлекательное заглядывание под капот.

Документация по QuickLaunch гласит:

Может быть 2 причины, по которым QuickLaunch не найдет приложение:

Это дает некоторое представление о том, как на самом деле работает магия, подобная Launch Services, которой я продолжаю восхищаться (и которая напрочь отсутствует в рабочих окружениях на Linux).

Не менее увлекательно "Открыть с помощью..."

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

Круто?
В Haiku я могу переопределить приложение для открытия одного конкретного файла.

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

Заключение

На второй день я также нашел несколько моментов, явно нуждающихся в доработке. Как я уже писал вчера, Haiku открыла мне глаза, показала, как рабочее окружение может "просто работать".

Я реально взволнован будущим этой личной операционной системы для настольных компьютеров. Ни один из них не остановит работу. Это долгожданное развитие за пределами "рабочих окружений Linux", продолжающих показывать серьезные, не решаемые в ближайшее время, архитектурные проблемы.

Надеюсь на Haiku.

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

Приглашаем вас в русскоязычный telegram-канал. Появились вопросы?

Сборник рецептов Haiku OS Обзор ошибок: Как выстрелить себе в ногу в C и C++.

От автора перевода: это вторая статья из цикла про Haiku.

Список статей: Первая

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть