如何获取运行 D-Bus 方法的权限?

如何获取运行 D-Bus 方法的权限?

当我运行此命令来运行org.gnome.Shell.IntrospectGetWindows()方法时:

dbus-send --session \
          --print-reply \
          --dest=org.gnome.Shell.Introspect \
          /org/gnome/Shell/Introspect \
          org.gnome.Shell.Introspect.GetWindows

我收到此错误: Error org.freedesktop.DBus.Error.AccessDenied: GetWindows is not allowed

我如何才能访问这个 D-Bus 接口来获取方法的结果?

答案1

你不能,除非修补 gnome-shell(或者编写一个 shell 扩展来实时修补它)。它已被编程为仅允许从 xdg-desktop-portal-gnome/gtk 访问 Introspect 方法。请APP_ALLOWLIST参阅js/misc/introspect.js

相关内容