我如何允许 Firefox 以 snap 方式运行外部程序?

我如何允许 Firefox 以 snap 方式运行外部程序?

我在个人 wiki 中设置了自定义链接,用于在计算机上执行日常任务。例如,当我单击 URL 时mysecretprotocol://launch-calculator,Firefox 会运行~/.bin/run-from-firefox launch-calculator(我编写的脚本),进而运行/usr/bin/gnome-calculator。要在 Firefox 中配置此功能,我打开about:config,创建配置选项network.protocol-handler.expose.mysecretprotocol,并将其设置为 false。

多年来,这种方法一直很有效。然而,当我升级到 Ubuntu 22.04 时,自定义链接停止工作。现在,当我单击自定义链接时,没有任何可见的事件发生,但以下行被添加到/var/log/syslog

May 18 18:30:01 localhost kernel: [76081.618924] audit: type=1400 audit(1652895001.147:1326): apparmor="DENIED" operation="exec" profile="snap.firefox.firefox" name="/run/user/1000/doc/7d7ed56a/run-from-firefox" pid=47023 comm="firefox" requested_mask="x" denied_mask="x" fsuid=1000 ouid=1000

如何让这些自定义链接再次工作,同时仍然运行 Firefox?(我不想采用 Canonical 不支持的运行 Firefox 的方式。)

相关资源:

更新:我意识到飞涨Linux 客户端完全符合我的要求。我点击 Zoom 会议链接,它会打开 Zoom 网站上的一个页面,该页面会启动 Zoom 客户端 ( /usr/bin/zoom),无需任何进一步的交互,即使 Firefox 是作为 snap 安装的。(我第一次这样做时,Firefox 提示我获得许可。)我该如何为自己的程序做到这一点?

相关内容