Разработчики GNOME собираются реализовать самодостаточные пакеты приложений, не зависимые от дистрибутивов
На мероприятии "GNOME Developer Experience Hackfest", прошедшем в преддверии конференции FOSDEM 2013, разработчики GNOME предложили концепцию нового метода установки приложений и формата пакетов. Такие пакеты будут независимы от дистрибутива, просты в установке, а распространяемые в них приложения будут инсталлироваться в обособленные песочницы, покинуть которые невозможно.На данном этапе разработчики планируют использовать для распространения приложений формат "app image", при котором вся файловая структура, необходимая для работы приложения, вместе с библиотеками упаковывается в образ файловой системы. После установки этот образ подключается к собственной точке монтирования, к которой подключаются все необходимые приложению компоненты ОС с применением изоляции с помощью пространств имен. В результате приложение оказывается в минималистичном Linux-контейнере.
В том случае, если в манифесте приложения указано использование различных ABI, в файловое пространство приложения также монтируются все необходимые библиотеки. Например, ABI system предполагает доступ к основным библиотекам, таким как libc и libm, ABI gnome-platform-1.0 предполагает наличие всех ключевых библиотек платформы GNOME, ABI bare - чистый ABI ядра.
Приложения не будут иметь доступ к домашнему каталогу пользователя, поэтому для обмена файлами и данными между приложениями планируется использовать идею "порталов", напоминающих механизм интентов (Intents) в Android. Каждое приложение, может объявить список порталов, которые оно поддерживает и, если другое приложение запросит доступ к одному из них, приложение-приемник будет запущено и получит набор входных данных. Порталы будут использованы для обмена любыми данными и любых взаимодействий между приложениями. Также на уровне GNOME будет реализован набор системных порталов, таких, например, как "открыть файл". Это позволит приложениям получить доступ к нужным пользовательским файлам, но не всему домашнему каталогу пользователя.
Для передачи данных средствами порталов будет задействован механизм IPC, реализованный на уровне ядра. Реализацией этого механизма займется Linux-разработчик Greg Kroah-Hartman.
© OpenNet