Для Flatpak подготовлена технология управляемого доступа к ресурсам вне контейнера
Для упрощения работы с внешними ресурсами для Flatpak предложена концепция порталов, реализованная через высокоуровневый API, позволяющий приложению запросить доступ к таким операциям, как открытие внешнего файла, открытие URL, вывод на печать, создание скриншота, вывод уведомления, блокировка вызова хранителя экрана, получения данных о состояния сети и информации о прокси. Указанный API удалось интегрировать с библиотекой GTK+, что позволяет обойтись без модификации приложений. Так, обработчик Portals API вызывается при обращении приложения к штатным функциям GTK, например, когда программа пытается выбрать файл через GtkFileChooserNative или вывести информацию на печать через GtkPrintOperation. Взаимодействие с фронтэндом из изолированного окружения осуществляется через DBus.
Особенностью системы порталов является то, что решение о предоставлении доступа принимается пользователем, а не изначально предопределяется составителем пакета, который не может предугадать какой файл захочет обработать в изолированном приложении пользователь, поэтому обычно доступ открывается ко всей домашней директории. При обращении к обрабатываемым через Portals API функциям вызывается специальный обработчик, который показывает пользователю диалог подтверждения операции, по аналогии с динамическими межсетевыми экранами. В случае, если пользователь подтвердит операцию, предоставляется доступ к ресурсу.
В настоящее время доступен первый выпуск модуля xdg-desktop-portal-gtk для интеграции с GTK+, а также предложен набор исправлений к GTK+, обеспечивающий прозрачную для приложений интеграцию с системой порталов. Данные изменения уже приняты в основную ветку GTK+ и будут включены в состав выпуска 3.22. При этом технология позиционируется как не зависящая от конкретных рабочих столов и в разработке находится аналогичный модуль для Qt.
Источник: http://www.opennet.ru/opennews/art.shtml?num=44761
|
0 | Tweet | Нравится |
|