Cutefish вернулся: установка Mac-приложений в Linux

2026-11-03 279 комментарии
Разработчики Cutefish показали запуск NetNewsWire, Ghostty, CotEditor, Keka и Speedtest через слой совместимости Reef. Рабочее окружение получило собственный композитор Wayland, а тестовые ISO основаны на Debian 13 и доступны для AMD64 и ARM64. Сам Reef ещё готовят к выпуску; Mac App Store и iCloud не поддерживаются

Linux-дистрибутив CutefishOS вернулся под названием Cutefish с заново разработанным рабочим окружением и экспериментальным запуском приложений macOS. команда сообщила о первом этапе разработки Reef – слоя совместимости, через который уже запускает NetNewsWire, Ghostty, CotEditor, Keka и Speedtest. Для тестирования самого дистрибутива доступны ночные сборки Cutefish 1.0 на базе Debian 13. Reef пока демонстрируют в сборках разработки и обещают включить в Cutefish позднее, без точной даты.

comss img 2026 11 03 092224
Cutefish

Собственный рабочий стол вместо прежней связки Qt и KWin

Проект появился в 2021 году и сохранил ориентацию на пользователей, привыкших к macOS. Однако техническая основа изменилась: прежние версии Cutefish Desktop использовали Qt и KWin, а нынешняя реализация получила собственный композитор Wayland и собственный набор инструментов интерфейса.

Композитор cutefish-compositor самостоятельно отрисовывает оболочку, оконные эффекты и анимацию. Приложения Cutefish используют cutefish-toolkit – инструментарий на C++ с отрисовкой через Skia. В набор входят файловый менеджер Files, терминал, настройки, календарь, системный монитор, текстовый редактор, видеоплеер и средство создания скриншотов.

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

Исходный код рабочего окружения и его приложений открыт. Большая часть распространяется под BSD 3-Clause; терминал, использующий код Konsole, и тема значков на базе Colloid – под GNU GPL 3.0.

Ранее идеи Cutefish получили продолжение в Lingmo OS, использовавшей ответвление старого рабочего окружения. Нынешний Cutefish разрабатывает собственные композитор и инструментарий.

Как Reef запускает приложения macOS


Reef – слой совместимости, который предоставляет Mac-приложениям необходимые программные интерфейсы macOS в Cutefish. По описанию разработчиков, код приложений выполняется непосредственно на процессоре, без эмуляции CPU и перевода процессорных инструкций.

Приложения не нужно изменять или пересобирать для Linux. Reef включает загрузчик исполняемых файлов Mach-O, среду выполнения Objective-C, поддержку Swift, низкоуровневую системную библиотеку и собственные реализации интерфейсов AppKit, Foundation, SwiftUI и других компонентов macOS.

comss img 2026 11 03 092631
NetNewsWire — это бесплатный RSS-агрегатор с открытым исходным кодом для macOS

Разработчики описывают тот же общий подход, который использует Wine: воспроизведение ожидаемых приложением системных интерфейсов. При этом Reef рассчитан на графические Mac-приложения и тесно связан с инструментарием, композитором и оболочкой Cutefish. Запуск консольных программ не входит в заявленные цели проекта.

По словам команды, Reef не использует код Wine или Darling. Разработчики пишут собственные компоненты по документации Apple и сравнивают их поведение с приложениями на Mac, а также используют открытые компоненты: Core Foundation, Grand Central Dispatch, стандартную библиотеку и среду выполнения Swift, LZFSE и другие библиотеки с соблюдением их лицензий.

К 2 ноября объём собственного кода Reef вырос примерно до 460 000 строк, охватив более 80 фреймворков. В публикации от 23 октября команда сообщала о более чем 300 000 строк и более 70 фреймворках. В отличие от рабочего окружения Cutefish, исходный код Reef пока закрыт; возможность открыть его позднее разработчики допускают, но не обещают.

comss img 2026 11 03 092824
Cutefish

Какие Mac-приложения уже показали


В новом отчёте команда перечисляет пять приложений и проверенные в них возможности. Это результаты демонстраций разработчиков, которые пока нельзя считать подтверждением совместимости со всем каталогом macOS.

ПриложениеЧто работает по данным разработчиков
NetNewsWireБоковая панель, список и просмотр статей, панель инструментов, действия смахиванием, добавление и обновление RSS-лент, все три раздела настроек и счётчик непрочитанных материалов на значке Dock. Для отображения статей используется WebKit.
GhosttyMac-версия терминала с отрисовкой через Metal, инспектором и пользовательскими шейдерами. Поддерживаются вкладки, разделение окна, меню в верхней панели Cutefish, Quick Terminal и восстановление недавно закрытой вкладки.
KekaСоздание и распаковка архивов ZIP и tar.gz, уведомление о завершении и открытие папки с извлечёнными файлами в Files.
Speedtest by OoklaПолный тест с измерением задержки, скорости загрузки и отправки, потери пакетов, а также история результатов.
CotEditorОткрытие, редактирование и сохранение файлов, подсветка синтаксиса, инспектор, поиск и настройки. Теперь восстанавливаются окна и текст несохранённых безымянных документов; доступны объединение окон во вкладки и полноэкранный режим с появлением меню при наведении указателя к верхнему краю.

В первом отчёте также показывали календарь Itsycal в строке меню, редактирование файлов в TextMate и Hex Fiend. Менеджер задач Things 3 запускался с частично реализованным интерфейсом SwiftUI, однако его поддержка оставалась незавершённой.

Установка из DMG и открытие документов

comss img 2026 11 03 092946
Установка macOS - приложений в Cutefish

В показанной реализации Mac-приложение устанавливается из обычного образа DMG, загруженного с сайта разработчика. Двойной щелчок открывает образ в разделе Locations файлового менеджера Files, после чего приложение нужно перетащить в папку Applications. Files читает такие образы самостоятельно.

Установленная программа появляется в меню приложений, её можно закрепить в Dock. Для удаления пакет приложения перетаскивают в корзину. Если программе требуется ещё не реализованная возможность Reef, система показывает диалог с объяснением вместо незаметного отказа при запуске.

Cutefish читает сведения о поддерживаемых приложением типах документов и добавляет его в меню Open with рядом с Linux-программами. Например, исходный файл Swift можно открыть в CotEditor с подсветкой синтаксиса; если редактор уже запущен, документ появится в новом окне того же приложения. Аналогично ZIP-архив можно передать Keka.

Mac-приложения получают обычные окна Cutefish, помещают свои меню в верхнюю панель и отображаются в Dock. При запуске из Dock значок однократно подпрыгивает, как у других приложений рабочего окружения.

comss img 2026 11 03 093054

WebKit, Core Data и Metal через OpenGL

Для новых приложений команда расширила набор реализованных интерфейсов macOS:

  • WebKit перенесён в Cutefish с собственной интеграцией вывода и ввода. Первым его использует NetNewsWire для просмотра статей.
  • Core Data сохраняет данные в том же файловом формате, что и на Mac, и поддерживает миграции между версиями моделей данных.
  • Реализация Metal работает через OpenGL и преобразует шейдеры Metal при их загрузке.
  • Network framework обеспечивает создание соединений и отслеживание изменений сети.
  • Восстановление окон и автосохранение возвращают приложения в прежнее состояние.
  • Прокрутка учитывает ускорение колеса мыши и инерцию сенсорной панели, ожидаемые Mac-приложениями.

Что изменилось в производительности Reef

Команда измеряет производительность на одном и том же ноутбуке, но не раскрывает его модель, конфигурацию и полную методику. Это внутренние результаты разработчиков, а не независимые тесты или гарантия скорости на другом оборудовании.

В отчёте от 2 ноября приведены следующие изменения относительно предыдущего состояния Reef. Во всех строках меньшее значение означает меньшие затраты времени или памяти.

ПоказательПреждеТеперьСобственное приложение Cutefish
Отрисовка кадра CotEditor при прокрутке4,4 мсОколо 3 мс1,2 мс, Text Editor
Отклик CotEditor на нажатие клавиши в файле на 100 000 строкВвод приводил к зависанию окнаОколо 70 мсНе приведено
Память CotEditor с файлом на 20 000 строк245 МБ146 МБНе приведено
Отрисовка кадра Ghostty при изменении размера окна6,7 мс2,4 мсНе приведено

NetNewsWire, Ghostty и CotEditor, по данным команды, стали запускаться на 10–40 мс раньше. Закрытие вкладки Ghostty теперь освобождает её память и завершает запущенную в ней командную оболочку. Разработчики признают, что разница с собственными приложениями Cutefish ещё сохраняется.

Для исходной точки сравнения команда публиковала в материале от 23 октября таблицу CotEditor и Cutefish Text Editor. Оба редактора открывали одинаковые файлы и получали одинаковый ввод на одном ноутбуке. Это данные предыдущего этапа; результат прокрутки CotEditor позднее улучшился до примерно 3 мс.

Показатель из публикации от 23 октябряCotEditor через ReefCutefish Text Editor
Запуск до первого кадра235 мс115 мс
Открытие файла на 4000 строк0,36 с0,12 с
Открытие файла на 20 000 строк0,50 с0,12 с
От нажатия клавиши до появления символа21 мс18 мс
Процессорное время на ввод 80 символов1,4 с0,17 с
Отрисовка кадра при прокрутке4,4 мс1,2 мс
Отрисовка кадра при изменении размера окна3,8 мс1,2 мс
Прокрутка и изменение размера окна60 кадров/с60 кадров/с

Первоначально в том же посте фигурировали 1,9 с процессорного времени на ввод 80 символов, 6,0 мс на кадр прокрутки и 7,3 мс на кадр изменения размера окна. Команда обновила результаты после перехода к перерисовке только изменившихся областей, сохранению неизменившихся элементов SwiftUI и их размеров, сокращению пробуждений фоновых потоков и устранению лишнего кадра при каждом шаге изменения размера окна.

Отдельное сравнение Mac- и Linux-версий Ghostty опубликовано 1 ноября. Команда использовала один ноутбук, одинаковые настройки и стандартное оформление Ghostty. Для времени и памяти меньшее значение лучше.

ПоказательMac-версия через ReefLinux-версия
До появления окна0,18 с0,39 с
До готовности к вводу0,21 с0,44 с
От нажатия клавиши до появления символа16 мс18 мс
Вывод файла размером 50 МБ2,4 с2,5 с
Рывки при вводе, прокрутке и изменении размера окнаНе наблюдалисьНе наблюдались
Использование памяти147 МБ132 МБ

В этом сравнении Mac-версия открывала окно быстрее, но занимала примерно на 15 МБ больше памяти. При прокрутке и изменении размера окна она также сильнее нагружала процессор. Из этих результатов нельзя вывести преимущество Reef над нативными Linux-приложениями в целом или конкретное изменение автономности ноутбука.

Ограничения: Mac App Store, iCloud и покупки

Reef пока реализует только часть интерфейсов macOS. Работа показанных программ не гарантирует запуск любого приложения; следующая программа может потребовать ещё отсутствующий компонент.

По описанию разработчиков, недоступны функции, зависящие от серверов Apple: Mac App Store, вход через Apple и синхронизация iCloud. Программы, распространяемые только через Mac App Store, установить нельзя – Reef нужен вариант с сайта разработчика. Приложение, обычно синхронизирующее данные через iCloud, сохраняет их локально.

Подписки и встроенные покупки через Apple также не работают, а соответствующие покупки с Mac не переносятся. Это ограничение не распространяется автоматически на лицензии, продаваемые разработчиком на собственном сайте, и синхронизацию через его собственный сервис.

Управление рабочим столом через ИИ-агентов

Cutefish также поддерживает управление графическим интерфейсом через MCP-сервер cutefish-computer-use. Совместимый агент может получать снимки экрана и отдельных окон, нажимать кнопки, вводить текст, прокручивать содержимое, перемещать и изменять размер окон, открывать приложения, файлы и ссылки, работать с буфером обмена.

Доступ контролирует композитор. При первом обращении Cutefish запрашивает разрешение, которое агент не может выдать себе самостоятельно. Во время работы в строке состояния видна кнопка Stop; ввод с клавиатуры или движение указателя приостанавливает действия агента, а блокировка экрана прекращает управление. Диалоги разрешений, паролей и экран блокировки агенту недоступны.

Разрешение можно сохранить для выбранного приложения и затем отозвать в разделе конфиденциальности настроек. Чтение экрана допускается только при разрешённом управлении. Порядок подключения Claude Code, Codex и других MCP-клиентов приведён в официальной инструкции.

Где скачать Cutefish и как установить рабочее окружение

comss img 2026 11 03 093517

Cutefish 1.0 использует Debian 13 «Trixie». На официальной странице загрузки доступны ночные Live ISO для AMD64 и ARM64: систему можно запустить с USB-накопителя и установить. На момент проверки 3 ноября опубликованы AMD64-образ от 3 ноября и ARM64-образ от 1 ноября. Это тестовые сборки, стабильного выпуска Cutefish 1.0 ещё нет.

Для установленной Debian 13 на AMD64 или ARM64 предусмотрен APT-репозиторий trixie-nightly. Официальная последовательность подключения:

sudo curl -fsSLo /etc/apt/keyrings/cutefish.asc https://download.cutefish.org/debian/cutefish.asc
gpg --show-keys /etc/apt/keyrings/cutefish.asc

Перед продолжением нужно проверить отпечаток ключа:

5F52 7F0C B976 4BA0 AF99  BAE5 F4A4 30BC 9E10 91A7
echo "deb [signed-by=/etc/apt/keyrings/cutefish.asc] https://download.cutefish.org/debian trixie-nightly main" \
  | sudo tee /etc/apt/sources.list.d/cutefish.list
sudo apt update
sudo apt install cutefish-desktop

Согласно описанию процесса сборки, пакеты и ISO собираются публичными заданиями GitHub Actions. Для образов доступны контрольные суммы SHA-256 и сведения о происхождении сборки. Для проверки происхождения нужен GitHub CLI 2.49 или новее; инструкция проекта также требует предварительной авторизации:

gh auth login

Загруженный ISO можно проверить следующими командами, заменив NAME на имя файла:

sha256sum -c NAME.iso.sha256
gh attestation verify NAME.iso --repo cutefishos/packaging

Проверка происхождения подтверждает, каким заданием и из какого кода собран файл. При этом пакеты пока не воспроизводимы побайтно: повторная сборка одного коммита не гарантирует совпадения контрольной суммы.

Для графического окружения проект указывает GPU с драйвером EGL и OpenGL ES 2 и поддержкой переключения видеорежимов ядром, а также systemd и systemd-logind. В виртуальной машине нужно устройство с поддержкой 3D, например virtio-gpu с virgl. Эти требования относятся к Cutefish Desktop; опубликованные архитектуры ISO сами по себе не устанавливают совместимость конкретных Mac-приложений через Reef.

Вывод

Cutefish сочетает привычное пользователям Mac устройство рабочего стола с интеграцией отдельных приложений macOS: общими меню, Dock и открытием документов из файлового менеджера. Для знакомства с рабочим окружением уже доступны тестовые образы, а практическую пригодность Reef можно будет оценить после его выпуска и проверки нужных программ. Приложениям, зависящим от Mac App Store или iCloud, заявленные ограничения пока мешают заменить привычную среду.

Читаете нас в Google? Добавьте Comss.ru в источникиДобавьте Comss.ru в источники Google
Новые статьи будут чаще в «Главных новостях» Google. Без подписок и уведомлений, отключается в один клик. Нужен вход в аккаунт Google.Наши статьи будут чаще в «Главных новостях». Нужен вход в Google.
Добавить в Google
© .
Комментарии и отзывы

Нашли ошибку?

Новое на сайте