Gentoo xdg-desktop-portal
xdg-desktop-portal
是 xdg-desktop-portal 接口的前端实现,在Gentoo中,可用的后端包括:
sys-apps/xdg-desktop-portal-gnome
sys-apps/xdg-desktop-portal-gtk
kde-plasma/xdg-desktop-portal-kde
gui-libs/xdg-desktop-portal-lxqt
gui-libs/xdg-desktop-portal-wlr
wayland显示服务器协议 的wlroots
后端xdg-desktop-portal
安装
安装
xdg-desktop-portal
:
xdg-desktop-portal
emerge --ask sys-apps/xdg-desktop-portal
注意,还需要配置安装至少一个针对环境的后端实现 例如 wayland显示服务器协议 对应的 gui-libs/xdg-desktop-portal-wlr
:
xdg-desktop-portal-wlr
emerge --ask gui-libs/xdg-desktop-portal-wlr
此外, sway-portals.conf
配置 使用 xdg-desktop-portal-gtk
提供每个portal接口,所以还需要安装 sys-apps/xdg-desktop-portal-gtk
:
xdg-desktop-portal-wlr
默认使用 xdg-desktop-portal-gtk
提供portal接口,所以同时安装 sys-apps/xdg-desktop-portal-gtk
emerge --ask sys-apps/xdg-desktop-portal-gtk
备注
我检查了我的安装 xdg-desktop-portal
+ xdg-desktop-portal-wlr
在 /usr/share/xdg-desktop-portal/sway-portals.conf
配置如下:
/usr/share/xdg-desktop-portal/sway-portals.conf
[preferred]
# Use xdg-desktop-portal-gtk for every portal interface...
default=gtk
# ... except for the ScreenCast and Screenshot
org.freedesktop.impl.portal.ScreenCast=wlr
org.freedesktop.impl.portal.Screenshot=wlr
# 下面这行是我参考 https://wiki.gentoo.org/wiki/Xdg-desktop-portal#Configuration
# 因为fcitx5启动时检查 org.freedesktop.portal.Settings ,不过加了也没用,貌似检查的是其他节点
org.freedesktop.impl.portal.Settings=darkman
可以看到 wlr
默认设置 gtk
提供接口,所以,还应该同时安装 sys-apps/xdg-desktop-portal-gtk
配置
备注
这段没有实践
xdg-desktop-portal
通过一个或多个配置文件配置:
$XDG_CONFIG_HOME/xdg-desktop-portal/{*-}portals.conf
$XDG_CONFIG_DIRS/xdg-desktop-portal/{*-}portals.conf
/etc/xdg-desktop-portal/{*-}portals.conf
$XDG_DATA_HOME/xdg-desktop-portal/{*-}portals.conf
$XDG_DATA_DIRS/xdg-desktop-portal/{*-}portals.conf
/usr/share/xdg-desktop-portal/{*-}portals.conf
如果上述配置文件都不存在,则可以创建一个简单的 ~/.config/portals.conf
~/.config/portals.conf
[preferred]
# Use xdg-desktop-portal-gtk for every portal interface...
default=gtk
# ... except for the Screencast, Screenshot and Settings (dark/light mode) interface
org.freedesktop.impl.portal.Screencast=wlr
org.freedesktop.impl.portal.Screenshot=wlr
org.freedesktop.impl.portal.Settings=darkman
使用
xdg-desktop-portal
通常不需要手工执行,而是由程序调用。不过如果要调试配置可以尝试添加 -v
参数:
xdg-desktop-portal
调试/usr/libexec/xdg-desktop-portal -v