Вернуться назад
xdg-desktop-portal
Портал - это безопасное окошко между приложением и системой.
Можно это представить так:
У тебя есть приложение в песочнице (например, Flatpak, Snap, браузер в режиме изоляции или приложение в Wayland, которое не имеет прямого доступа к системе). Оно не может напрямую:
- Прочитать/записать файл на диск
- Захватить экран
- Использовать микрофон или камеру
- Показать диалог выбора файла
А иногда ему это нужно. Тогда оно стучится в портал (через API xdg-desktop-portal) и говорит:
- «Хочу, пожалуйста, файл от пользователя»
- «Хочу, пожалуйста, захватить экран»
- «Хочу, пожалуйста, доступ к микрофону»
Чем это полезно
- Безопасность - приложение не получает полный доступ, только то, что пользователь разрешил через портал.
- Универсальность - приложение не нужно переписывать под каждое окружение, оно обращается к одному API, а уже портал-бэкенд (например, xdg-desktop-portal-gtk, xdg-desktop-portal-wlr) решает, как именно это сделать.
- Wayland - в отличие от X11, в Wayland нет «прямого» доступа к экрану у приложений. Порталы решают эту проблему официальным способом.
Основные бэкенды
- xdg-desktop-portal-gtk — для окружений GNOME / XFCE / MATE.
- xdg-desktop-portal-kde — для KDE Plasma.
- xdg-desktop-portal-lxqt — для LXQt.
- xdg-desktop-portal-wlr — для композиторов wlroots (Sway, River, Wayfire).
Портал - это «шлюз» для контролируемого доступа приложений к функциям рабочего окружения.