Запуск SerenityOS, любовное письмо пользовательским интерфейсам 90-х

Запуск SerenityOS, любовное письмо пользовательским интерфейсам 90-х

21 октября 2022 г.

Мне всегда нравилось возиться с операционными системами и средами рабочего стола. Я считаю, что моей первой графической операционной системой была AmigaOS. За десятилетия, прошедшие с тех пор, как я работал с различными версиями Windows, всеми версиями macOS, начиная с 7.0, различными вариантами и комбинациями Linux и многими другими небольшими нишевыми ОС, о которых я забыл в море окон и меню.

В альтернативной (может быть, будущей?) жизни я хотел бы создавать вымышленные пользовательские интерфейсы для фильмов, телешоу и игр. Одна из моих любимых книг – "Сделайте так", в которой проводится сравнение интерфейсов в науке. вымышленные и реальные интерфейсы.

<цитата>

Какая у вас любимая операционная система? Сообщите нам, используя это приглашение.

Впервые я услышал о SerenityOS из новости в журнале изменений. Они упомянули, что несколько программистов с открытым исходным кодом работали над альтернативным браузером и браузерным движком, Божья коровка. Для меня это захватывающая перспектива, поскольку я обеспокоен гегемонией браузеров на основе Chromium, и есть несколько других вариантов, которые не контролируются жестко (WebKit) или медленно исчезают (Firefox). Божья коровка пока не претендует на то, чтобы быть полнофункциональной или готовой, но быстро развивается.

Затем, копаясь в Ladybird, я обнаружил, что это браузер, разработанный для столь же уникальной операционной системы, и я был заинтригован! Чтобы уточнить, Serenity не является еще одной оболочкой Linux или BSD. Это что-то созданное с нуля, но сильно вдохновленное как современными, так и классическими ОС. Она призвана стать полнофункциональной и удобной ОС для повседневного использования.

В этом посте я расскажу о сборке и запуске Ladybird и SerenityOS на моем MacBookPro M1. Использование Apple Silicon создавало некоторые сложности, но не слишком большие, и сообщество проекта готово помочь и общаться, когда у вас возникают проблемы.

https://youtu.be/q_wpQeQRcPA

Создание и запуск божьей коровки

Изначально созданный в качестве эксперимента по созданию браузера с HTML-библиотеками SerenityOS, недавно он превратился во что-то, что может стать новым вариантом кроссплатформенного браузера.

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

У меня не было проблем свыполнением предварительных условий сборки и инструкций для выбранной вами платформы. Начиная с версии 6.2, Qt поддерживает Apple Silicon, поэтому ни один из них не представлял для меня проблемы. Только то, что мне пришлось установить Xcode. Был момент, когда было достаточно просто установить инструменты командной строки Apple, но я обнаружил, что мне все чаще нужны инструменты, которые предоставляет только Xcode.

Этапы сборки занимают некоторое время, после чего должен открыться браузер. Первоначально браузер был нацелен на то, чтобы помочь людям отлаживать приложения, которые они создавали с помощью HTML-библиотек Serenity, поэтому доступно множество инструментов отладки, но пока не слишком много для конечных пользователей. Сначала у меня возникла проблема с рендерингом шрифта, вероятно, из-за моего экрана Retina, но вопрос на сервере Serenity Discord получил быстрый ответ (это характерно для macOS).

Щелкните правой кнопкой мыши созданный двоичный файл в Build/ladybird и откройте файл Contents/info.plist (возможно, в Xcode, но подойдет любой редактор). Измените значение < code>NSHighResolutionCapable в "НЕТ" и перезапустите. Рендеринг текста по-прежнему выглядит немного странно, но он читаем.

Я заметил, что Ladybird не воспроизводит аудио или видео. Я не уверен, связано ли это с тем, что эта функция HTML еще не реализована, или с проблемами лицензирования.

Сборка и запуск SerenityOS

Создать и запустить браузер — это одно, а создать и запустить всю операционную систему — нечто гораздо более сложное. Поскольку Serenity разработан для систем X86_64, это также означает, что мне, как пользователю Apple Silicon, необходимо запускать его в эмулируемой среде. К счастью, поскольку Serenity — это целая ОС, сообщество обычно предполагает, что вы хотите запустить ее на виртуальной машине, и уже предоставило шаги в сценариях запуска для использования QEMU. Выполнив пару дополнительных шагов, вы сможете заставить это работать и при работе на Apple Silicon, хотя и с небольшим снижением производительности.

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

Изначально запустить Serenity не удалось на этапе QEMU, и ранее у меня возникали некоторые проблемы с QEMU для общей статьи о виртуализации и эмуляции macOS, над которой я работаю. Однако еще один быстрый ответ на сервере Discord, и у меня появилось решение.

В run.sh в строке 256 (на момент написания) добавьте следующее:

-machine pc-i440fx-7.0

Весь этот блок определяет виртуальную машину QEMU, которую будет использовать Serenity, и "pc-i440fx-7.0. " определяет конкретную конфигурацию ПК. После этого запуск Serenity заработал. Подтормаживает из-за использования эмулируемого процессора, но незначительно, с секундной задержкой каждый раз, когда я что-то нажимаю. Непригодно для повседневного использования, но приемлемо для целей тестирования.

Serenity определенно имеет ранний пользовательский интерфейс Windows, но с мышлением Linux. Официального менеджера пакетов нет, но порты доступны для сборки. Вместо этого он объединяет множество общих приложений со сборкой ОС. Есть редактор кода, браузер (не Ladybird), игры и многое другое.

Назад в будущее

Вот оно. С помощью нескольких настроек и длительного ожидания загрузок и сборок вы тоже можете запустить совершенно новый и уникальный браузер и операционную систему! Я не совсем уверен, какова конечная цель проекта Serenity, так как он начинался как проект страсти для основных сопровождающих и перерос в нечто большее. Это одна из вещей, которые мне нравятся в проекте. Он создан исключительно людьми, которые получают удовольствие от процесса создания чего-то, чем они гордятся, а миру с открытым исходным кодом нужно больше таких проектов.

<цитата>

Это месяц хактоберфеста. Если вам нравятся проекты с открытым исходным кодом, такие как SerenityOS, расскажите нам о своем опыте участия в открытом источник с помощью этой подсказки.

<цитата>

Какая у вас любимая операционная система? Сообщите нам, используя это приглашение.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE