我之所以问这个问题,是因为我必须处理 Firefox Web 扩展和 Ubuntu 22.04 中的沙盒 Firefox 的权限问题。(请参阅https://github.com/mi-g/vdhcoapp/issues/139)
解决方案是,我必须授予 Firefox 使用该 Web 扩展的权限。但我只在 Flatpak 的permission-show
和中找到此类命令permission-set
,这意味着我必须安装 Flatpak 才能修改折断应用程序。这很奇怪。
是否有任何权限管理方案折断如果不是,原因何在?
答案1
您可以通过 设置权限dbus
,下面的命令将使用当前用户会话设置权限,不需要安装 flatpak。还有其他方法,请参阅文档。
dbus-send --print-reply \
--dest=org.freedesktop.impl.portal.PermissionStore \
/org/freedesktop/impl/portal/PermissionStore \
org.freedesktop.impl.portal.PermissionStore.SetPermission \
string:'webextensions' \
boolean:'true' \
string:'<your-extension>' \
string:'snap.firefox' \
array:string:'yes'
我发现没有办法设置系统权限,这必须在每个会话中完成。
答案2
在此链接中感谢 el-calavera:https://github.com/mi-g/vdhcoapp/issues/139#issuecomment-1535179270这回答了我的问题。
我将在此引用她/他的回答:
“Snap 中的原生消息传递功能使用的是源自 flatpak 项目的 xdg-desktop-portal 框架。这就是为什么权限存储在名为 ~/.local/share/flatpak/db/webextensions 的文件中的原因。Flatpak 提供了一种编辑此文件的方法,而 snap 没有。”
这意味着我们必须使用 flatpak 来管理有关本机消息传递的这些权限。