Представлено первое полностью изолированное приложение для 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.
© OpenNet