Разделы

Открытое ПО

Создано ПО для превращения «макбуков» в Linux-ПК по технологии, «подсмотренной» у Microsoft

Опубликован первый выпуск бесплатного ПО Lima, которое позволяет запускать Linux-приложения на компьютерах Apple – в среде macOS. Разработчики называют свой проект «реализацией неофициальной подсистемы macOS для Linux» по аналогии с разработкой Microsoft – «Подсистемой Windows для Linux», призванной решить аналогичную задачу в окружении Windows 10.

Неофициальная «подсистема macOS для Linux»

Состоялся первый релиз проекта Lima, в рамках которого ведется разработка среды для запуска Linux-приложений в операционной системе Apple macOS. Об этом сообщил профильный ресурс Phoronix.

Согласно описанию проекта, размещенному на его официальной странице, Lima можно рассматривать как своего рода неофициальную «подсистему macOS для Linux», названную по аналогии с разработкой корпорации Microsoft – Windows Subsystem for Linux (WSL, «Подсистема Windows для Linux»). Решаемые задачи и выбранный подход к их решению у Lima и WSL2 во многом схожи.

Lima поддерживает запуск программ для Linux, собранных под архитектуры x86_64 (процессоры Intel, AMD) и ARM (aarch64). Заявлена возможность исполнения ARM-сборок приложений в x86-окружении и в любых других комбинациях. Однако, как подчеркивается на странице проекта, варианты «ARM на ARM» и «x86 на ARM» пока не были протестированы разработчиками.

flex600.jpg
macOS научили запускать Linux-приложения

Lima (Linux-on-Mac) – проект с открытым исходным кодом, который распространяется на условиях свободной лицензии Apache 2.0. Код опубликован на хостинге проектов Github. Владельцем репозитория числится японский программист под псевдонимом AkihiroSudo, который также называет себя мейнтейнером проектов Moby, BuildKit, containerd и runc. Разработка ведется на языке программирования Go.

На момент публикации материала актуальной является Lima версии 0.1.0. Разработчиками подготовлены бинарные сборки под платформы x86_64 и ARM. Их размер в нераспакованном виде лишь немного превышает 8 МБ, без учета зависимостей.

Принцип работы

Работа Linux-прослойки обеспечивается при помощи запуска виртуальных машин с Linux, содержащих containerd – инструментарий для управления запуском готовых образов совместимых с Docker контейнеров.

Эмуляция «неродного» железа осуществляется силами свободного ПО Qemu с ускорителем HVF – его пользователю придется установить вручную, например, с помощью менеджера пакетов Homebrew и настроить самостоятельно.

Реализована поддержка совместного доступа к файлам и перенаправление портов в Linux-окружении за счет использования sshocker и reverse ssh.

Авторами проекта заявлена поддержка популярных Linux-дистрибутивов Ubuntu и Fedora.

Почему цифровые двойники становятся мэйнстримом в энергетике
Новое в СХД

Управление Lima осуществляется из командной строки. Создание графического интерфейса на базе фреймворков Qt или Electron в планах разработчиков.

Альтернативы

Проект Lima – это не первая и не единственная попытка обеспечить запуск Linux-приложений на «железе» Apple в среде macOS. К примеру, добиться этого можно достаточно давно с помощью бесплатного Oracle Virtualbox, который позволяет развернуть в macOS виртуальную машину, в том числе и под управлением Linux.

Стоит также упомянуть Noah – инструмент, который не полагается на виртуализацию. Принцип его работы скорее напоминает WINE (Wine is not emulator): программа «на лету» транслирует системные вызовы ядра Linux в вызовы ядра macOS (Darwin). Кроме того, Noah включает интерпретатор ELF – стандартного для Linux формата исполняемых файлов. Однако, судя по репозиторию проекта, его развитие не ведется как минимум год. Кроме того, Noah позиционировался автором как проект экспериментальный, который поддерживает запуск далеко не всего пула доступных Linux-приложений.

Linux-приложения в Windows

Корпорация Microsoft развивает подсистему Windows для Linux, которая позволяет запускать Linux-приложения в ОС Windows 10 при помощи встроенных средств виртуализации и контейнеризации. Целевая аудитория решения – разработчики кроссплатформенного ПО.

Подсистема впервые появилась в Windows 10 в 2016 г., но позволяла запускать исключительно программы, взаимодействие с которыми осуществляется посредством командной строки.

О том, что ведется разработка второй версии WSL (WSL2) Microsoft сообщила в мае 2019 г. Новое поколение подсистемы, в которую было включено уже полноценное ядро Linux, стало важной частью релиза Windows 10 2004, который состоялся в конце мая 2020 г. Тогда же Microsoft анонсировала будущую поддержку запуска Linux-приложений с графическим интерфейсом (Graphical User Interface, GUI).

В апреле 2021 г., как ранее сообщал CNews, тестировщики-добровольцы впервые получили доступ к сборке Windows 10, в которой реализован запуск таких приложений. Были заявлены поддержка звука «из коробки», GPU-ускорения и «бесшовная» интеграция в Windows-окружение. Выполнение Linux-приложений c GUI обеспечивает компонент Windows 10, который разработчики называют WSLg – часть WSL2.

Дмитрий Степанов

Короткая ссылка