在我的机器上,我有多个 xdg-desktop-portal 实例:
$ ls -la /usr/share/xdg-desktop-portal/portals
.rw-r--r-- 100 root 23 Mar 14:48 gnome-keyring.portal
.rw-r--r-- 99 root 20 Mar 02:25 gnome-shell.portal
.rw-r--r-- 548 root 18 Oct 2022 gnome.portal
.rw-r--r-- 495 root 29 Nov 2022 gtk.portal
我无法确定当前正在使用哪一个。
我可以使用什么命令来查找我正在使用哪个 xdg-desktop-portal?
答案1
没有一当前正在使用的门户:门户通常处理以下内容的子集可用的接口。因此在我的系统上,
gnome-keyring.portal
说它应该用于 GNOME,并提供org.freedesktop.portal.Secret
gnome-shell.portal
说它应该用于 GNOME,并提供org.freedesktop.impl.portal.Access
gtk.portal
再次表示它应该用于 GNOME,并提供了许多接口,例如文件选择器、打印对话框等。
当前使用的桌面环境由环境变量决定XDG_CURRENT_DESKTOP
。
因此,给定的请求将由可用门户之一处理,具体取决于当前的桌面环境和请求的界面。在大多数设置中,没有一个门户重叠,并且每个门户都会根据需要使用 - 没有什么可以选择的。
答案2
拱门维基说:
可以安装多个后端,它们位于 /usr/share/xdg-desktop-portal/portals/*.portal 中。每个门户后端文件都包含它可以处理的接口列表以及可以使用它的桌面环境。发出请求时,xdg-desktop-portal 将使用 XDG_CURRENT_DESKTOP 环境变量来确定它将用于哪个后端的请求。如果当前桌面可以使用多个后端,则选择按字母顺序排列的第一个后端。如果当前桌面没有后端可以处理该界面,当前桌面没有可用的后端,或者 xdg-desktop-portal 无法确定当前桌面,那么它将在所有已安装的门户中按字母顺序选择第一个门户支持所请求的接口的门户。
的值XDG_CURRENT_DESKTOP
对应于您当前使用的桌面环境或会话:
echo $XDG_CURRENT_DESKTOP
获取有关活动xdg-desktop-portal
实例的更多详细信息:
xdg-desktop-portal version