Представлено первое полностью изолированное приложение для GNOME

Александр Ларсон (Alexander Larsson), активный разработчик GNOME и сопровождающий таких проектов, как Nautilus, Gnome-vfs и Dia, рассказал об успехах в реализации самодостаточных контейнеров для запуска графических приложений, не привязанных к конкретному дистрибутиву Linux. На примере игры Neverball сформирована первая полноценная сборка приложения, демонстрирующего возможности поставки графических приложений в форме контейнеров.

Сформированное для приложения изолированное окружение полностью независимо от используемого дистрибутива, не имеет доступа к файлам и процессам пользователя или основной системы, не может напрямую обращаться к оборудованию, за исключением вывода через DRI, и сетевой подсистеме. Подготовленный контейнер пока пригоден для запуска в Fedora 21, так как требует наличия в системе таких ещё не получивших повсеместного распространения технологий как протокол Wayland и система обмена сообщениями kdbus, которые применяются для организации взаимодействия начинки контейнера с внешней средой. Вывод графики и организация ввода производится только через Wayland (X11 не поддерживается). Для вывода звука применяется PulseAudio. Обеспечение изоляции контейнера основывается на использовании cgroups, пространств имён (namespaces) и SELinux.

Для загрузки контейнера и общего для всех контейнеров runtime-окружения используется утилита xdg-app. Например, для установки runtime можно выполнить «xdg-app install-runtime —user repo org.freedesktop.Platform 0.1», а для загрузки приложения «xdg-app install-app —user repo org.neverball.Neverball». Запуск упакованной в контейнер программы осуществляется по аналогии обычными приложениями. Из ограничений, которые планируется устранить в будущем, отмечается отсутствие API для предоставления пользователем выборочного доступа к внешним файлам и устройствам, а также организация разделения между собой клиентов PulseAudio.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.