08.12.2021

Проект Airyx развивает редакцию FreeBSD, совместимую с приложениями macOS

Доступен первый бета-выпуск операционной системы Airyx, предлагающей окружение в стиле macOS и нацеленной на предоставление определённого уровня совместимости с приложениями для macOS. Airyx базируется на FreeBSD и используется графический стек на основе X-сервера. Наработки проекта распространяются под лицензией BSD. Размер загрузочного iso-образа — 1.9 ГБ (x86_64).

В качестве цели проекта заявлено достижение совместимости с приложениями macOS на уровне исходных текстов (возможность перекомпиляции кода открытых macOS-приложений для выполнения в Airyx) и исполняемых файлов (в ядро и инструментарий добавлены патчи для запуска исполняемых файлов Mach-O, собранных для архитектуры x86-64). В реализации интерфейса использованы типовые для macOS концепции, такие как верхняя панель с глобальным меню, идентичная структура меню, клавиатурные комбинации, похожий по стилю файловый менеджер Filer и поддержка таких команд, как launchctl и open. Графическое окружение основано на оболочке KDE Plasma, стилизованной под macOS.

Поддерживаются применяемые в macOS файловые системы HFS+ и APFS, а также специфичные системные каталоги. Например, помимо свойственных для FreeBSD иерархий /usr и /usr/local, в Airyx применяются каталоги /Library, /System и /Volumes. Домашние каталоги пользователей размещаются в каталоге /Users. В каждом домашнем каталоге имеется подкаталог ~/Library для приложений, использующих программный интерфейс Apple Cocoa.

Приложения могут оформляться в виде самодостаточных app-пакетов (App Bundle) в формате AppImage, размещаемых в каталогах /Applications или ~/Applications. Программы не требуют установки и использования пакетного менеджера — достаточно перетащить мышью и запустить AppImage-файл. При этом сохранена поддержка и традиционных для FreeBSD пакетов и портов.

Для совместимости с macOS предоставляется частичная реализация программного интерфейса Cocoa и Objective-C runtime (размещаются в каталоге /System/Library/Frameworks), а также дополнительно модифицированные для их поддержки компиляторы и компоновщики. Планируется реализация поддержки файлов-проектов XCode и программ на языке Swift. Помимо слоя для совместимости с macOS в Airyx также доступна возможность запуска приложений для Linux, основанная на предлагаемой во FreeBSD инфраструктуре эмуляции окружения Linux (Linuxulator).

Особенности первой бета-версии Airyx:

  • Наличие примеров самодостаточных пакетов с Firefox, Terminal и Kate.
  • Новый инсталлятор ObjectiveC на основе AppKit (airyxOS.app).
  • Включение в состав Java SDK 17.0.1+12.
  • Использование в качестве основы ядра и системного окружения FreeBSD 12.3RC.
  • Улучшенный AppKit, c более близкой к macOS цветовой схемой и клавиатурными комбинациями, поддержкой всплывающих меню, улучшенной работой со шрифтами.
  • Из запланированных, но ещё не реализованных возможностей, отмечается Dock-панель, GUI для настройки WiFi, решение проблем с работой файлового менеджера Filer в окружении KDE Plasma.




Источник.