Приложения Flatpak становятся все более популярными. Их особенность в том, что в приложение уже включены все необходимые библиотеки для установки, работы, и обновлений. Благодаря этому такие приложения работают практически на любой операционной системе семейства Linux.
Каждое Flatpak-приложение создается и запускается в изолированной среде, которая называется «песочницей». По умолчанию приложение может получить доступ только к содержимому своей «песочницы». Остальные доступы необходимо настраивать дополнительно. Если при использовании приложения Flatpak появляется сообщение об отсутствии доступа к какому-то ресурсу системы, значит необходимо настроить доступ для этого приложения.
Для настройки доступов удобно использовать приложение "Настройки Flatpak", оно доступно для установки в Магазине приложений Uncom OS:

В графическом интерфейсе утилиты отображается список приложений и доступные для них настройки:

Кратко разберём все доступные опции:

- Сеть - разрешить приложению доступ к сети;
 
- Межпроцессные коммуникации	- разрешить межпроцессорные взаимодействия с хост-системой.
 
Эти две опции включены по умолчанию для всех приложений.

- Оконная система X11	- разрешить приложению открываться в оконном интерфейсе X11;
 
- Оконная система Wayland	- разрешить приложению открываться в оконном интерфейсе Wayland;
 
- Возврат к оконной системе Х11 - разрешить приложению открываться в окне X11, в случае, если Wayland недоступен. Для корректной работы необходимо включить сокет "Оконная система X11";
 
- Звуковой сервер PulseAudio	- разрешить приложению воспроизводить звуки или получать доступ к микрофону при использовании PulseAudio;
 
- Сессионная шина D-Bus	-	разрешить приложению доступ ко всей шине сеанса;
 
- Системная шина D-Bus - разрешить приложению доступ ко всей системной шине;
 
- SSH-агент	- разрешить приложению использовать аутентификацию по SSH;
 
- Смарт-карты	-	разрешить приложению использовать смарт-карты;
 
- Система печати	-	разрешить приложению использовать системы печати;
 
- Каталоги GPG агента	-	разрешить приложению доступ к каталогам GPG-агента.
 
- Inherit Wayland Socket - разрешить приложению доступ к ограниченным функциям Wayland
 

- GPU ускорение -	разрешить приложению доступ к прямому рендерингу графики, чтобы воспользоваться преимуществами ускорения графического процессора (видеокарты);
 
- Устройства ввода	-	разрешить доступ к устройствам ввода;
 
- Виртуализация	-	разрешить приложению доступ к виртуализации;
 
- Распределяемая память	- разрешить приложению доступ к общей памяти (память, к которой могут одновременно обращаться несколько программ для обеспечения коммуникации между ними или для избежания избыточных копий);
 
- Все устройства (пр. веб-камера)	- разрешить приложению доступ ко всем устройствам, таким как веб-камера и внешние устройства.
 

- Системные вызовы разработки (пр.ptrace)	-	разрешить приложению доступ к определённым системным вызовам, таким как 
ptrace() и perf_event_open().; 
- Программы с других архитектур	-	разрешить приложению выполнять программы для ABI, отличного от того, который поддерживается системой изначально;
 
- Bluetooth	-	разрешить приложению использовать Bluetooth;
 
- Шина сети контроллеров	-	разрешите приложению использовать разъёмы 
canbus. Для этого также необходимо иметь доступ к сети; 
- Распределяемая память приложения	-	разрешить приложению совместно использовать его 
/dev/shm между экземплярами одного и того же идентификатора $FLATPAK_APP_ID. Представлен специально для пакета Steam (Flatpak), чтобы использовать его /dev/shm для изолированных игр. 

- Все системные файлы	-	разрешить доступ для чтения и записи ко всей файловой системе. Всё, что недоступно для записи пользователем, будет доступно только для чтения;
 
- Все системные библиотеки, исполняемые файлы и статические данные	-	разрешить доступ для чтения и записи к системным библиотекам, расположенным в 
/usr. Поскольку для записи в этот каталог требуется root-доступ, разрешение будет доступно только для чтения; 
- Все конфигурации системы	-	разрешить доступ для чтения и записи к системным конфигурациям, расположенным в 
/etc. Поскольку для записи в этот каталог требуется root-доступ, разрешение будет доступно только для чтения; 
- Все пользовательские файлы	-	разрешить доступ для чтения и записи к пользовательскому каталогу (
$HOME или ~/); 
- Другие файлы	-	разрешите доступ для чтения и записи к нужному вам каталогу. Необходимо вручную прописать путь до каталога и в конце дописать атрибут, соответствующий правам доступа, :ro (read only, только чтение) или :rw (read-write, чтение и запись). Например: 
/home/uncom/Загрузки:rw. 
Обратите внимание! При ручном указании пути к файлам нет необходимости подтверждать запись строки клавишей Enter или сохранять настройки. Просто добавьте новую строку и введите нужные данные.
Пример ручной настройки доступов приложения к файловым системам есть в статье про настройку Steam в Uncom OS.

- Файлы	-	разрешить приложению доступ к целевому каталогу, ограничивая доступ к нему другим приложениям. Начиная с каталога пользователя (
$HOME или ~/), целевой каталог будет переназначен в каталог приложения (~/.var/app/$FLATPAK_APP_ID/[PATH]), если у него нет доступа на запись в целевой каталог. Например, указание в данной строке .mozilla назначит ~/.mozilla в ~/.var/app/org.mozilla.Firefox/.mozilla. Эта настройка также используется для приведения в порядок каталога пользователя, поскольку она предотвращает запись приложения в ~/. 

- Переменные - установите переменную окружения в приложении, чтобы сделать эту переменную доступной для приложения при его запуске. Например, можно добавить 
MOZ_ENABLE_WAYLAND=1 для Firefox, чтобы включить серверную часть Wayland. 

- Переговоры - разрешить приложению взаимодействовать с системными службами. Например, добавление 
org.freedesktop.Accounts позволит приложению получать доступ к истории входа пользователей в систему; 
- Владельцы	- разрешить приложению владеть системными службами под заданным именем.
 

- Переговоры - разрешить приложению взаимодействовать со службами сеансов. Например, добавление org.freedesktop.Notifications позволит приложению отправлять уведомления;
 
- Владельцы	-	разрешить приложению владеть сеансовыми службами под заданным именем.
 

- Фон	-	разрешить приложению работать в фоновом режиме;
 
- Уведомления - разрешить приложению отправлять уведомления;
 
- Микрофон - разрешить приложению использовать микрофон;
 
- Динамики - разрешить приложению использовать динамики;
 
- Камера - разрешить приложению использовать камеру;
 
- Местоположение - разрешить приложению доступ к вашему местоположению.
 
Чтобы вернуть настройки в исходное состояние, нажмите вверху окна пункт «Восстановить», и все настройки вернутся к состоянию, в котором были после установки соответствующего приложения Flatpak.
После выполнения настроек доступов перезагрузка в приложении системы не требуется, достаточно перезапустить приложение Flatpak, для которого в настройках доступа были внесены изменения.
При написании данной статьи использовались материалы из официальной документации проекта Flatseal
https://github.com/tchx84/Flatseal/blob/master/DOCUMENTATION.md
Материалы распространяются под лицензией Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)