Домой Новости Разработчики Chromium начали эксперименты с поддержкой формата Flatpak

Разработчики Chromium начали эксперименты с поддержкой формата Flatpak

В исходный код Chromium добавили экспериментальную поддержку сборки браузера в формате Flatpak. Пока функция скрыта за отключаемым флагом сборки.

4
0

В официальный репозиторий Chromium внесли изменения, добавляющие экспериментальную возможность упаковки браузера в формате Flatpak. Соответствующий патч был объединен с основной веткой кода накануне. На текущий момент это небольшое дополнение, которое скрыто за деактивированным по умолчанию флагом сборки enable_flatpak.

Логотип веб-браузера Chromium на фоне системных иконок Linux
Экспериментальный код в Chromium может упростить установку браузера в формате Flatpak для пользователей Linux. Источник: It's FOSS

Детали реализации экспериментальной функции

Новый код располагается в отдельной директории внутри скриптов установщика Chromium для Linux. При активации флага enable_flatpak система сборки формирует версию браузера в виде Flatpak-пакета вместо стандартных форматов DEB или RPM. В такой сборке опускаются компоненты, специфичные для конкретных рабочих окружений, а также системные файлы, которые не требуются для работы Flatpak.

Автор патча Том Андерсон пояснил, что основная цель проекта заключается в тестировании более строгой «песочницы» и улучшении взаимодействия Chromium с десктопными средами через систему разрешений Flatpak. При этом разработчик подчеркнул, что добавление данного кода не является обязательством по выпуску официального Flatpak-пакета браузера.

Значение проекта для экосистемы Linux

На сегодняшний день пользователи Linux, предпочитающие формат Flatpak, вынуждены полагаться на сторонние решения. Наиболее популярными из них являются сборка сообщества, доступная на Flathub, и форк ungoogled-chromium. Популярность неофициальных версий высока: сборка от сообщества в среднем преодолевает отметку в 27 тысяч загрузок в месяц.

Появление официального пакета от разработчиков Chromium означало бы, что вопросы настройки прав в «песочнице», обновления и интеграции с рабочим столом решались бы создателями браузера напрямую, а не силами волонтеров. Важно отметить, что патч уже содержит настройки идентификаторов приложений как для Chromium (org.chromium.Chromium), так и для Google Chrome (com.google.Chrome). Это создает техническую базу для возможного появления официального Flatpak-пакета Chrome в будущем.

Особенности использования Flatpak

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

Кроме того, механизм «песочницы» Flatpak по умолчанию ограничивает доступ программы к файлам, устройствам, сетевым ресурсам и другим компонентам хостовой системы. Для получения доступа к ресурсам вне изолированного окружения приложению требуются дополнительные права, что накладывает на пользователей и разработчиков дополнительные задачи по конфигурации. Несмотря на эти особенности, официальная поддержка Flatpak стала бы важным дополнением к существующим способам установки Chromium и Chrome, включая DEB, RPM и сторонние пакеты Snap. На данный момент эксперимент остается на ранней стадии, и вопрос о полноценном релизе остается открытым.

Технические нюансы и перспективы внедрения

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

Более того, архитектура «песочницы» Flatpak по умолчанию накладывает строгие ограничения на доступ приложения к файловой системе, сетевым ресурсам и аппаратным устройствам хоста. Хотя это значительно повышает безопасность, практическое использование браузера в таком режиме требует гибкой системы настройки разрешений. Разработчикам и пользователям приходится учитывать необходимость запроса дополнительных прав для тех функций, которые выходят за рамки базового изолированного окружения. Это добавляет новый уровень сложности в конфигурацию браузера, что может сделать Flatpak-версию менее привлекательной для части аудитории по сравнению с классическими способами установки.

Тем не менее, потенциальное появление официального пакета значительно упростило бы выбор для Linux-пользователей. В дополнение к уже существующим методам (DEB, RPM и неофициальный Snap), Flatpak мог бы стать ещё одним стандартизированным способом доставки, при котором разработчики Chromium взяли бы на себя прямую ответственность за интеграцию с рабочим столом и своевременное обновление прав доступа в песочнице, исключая необходимость полагаться на сторонние репозитории.

Источник: https://itsfoss.com