如何在 snap 中使用 xdg-open?我找到了“snapd-xdg-open”包,它显然通过 dbus 将 URL 传递给 unity,这很好,但似乎 unity 不知道如何处理 URL?我使用 snapd-xdg-open 时出现此错误:
Error org.freedesktop.DBus.Error.ServiceUnknown: The name com.canonical.SafeLauncher was not provided by any .service files
我发现此邮件列表线程,这似乎表明修复方法是在主持人系统,如果我没有记错的话,这是不可能用 snap 来实现的,而且也完全违背了 snappy 的目的,使得该解决方案完全无用。
如果我想在主机系统上打开一个 URL,我该怎么做?
答案1
这不是一个好的解决方案,因为最终用户必须手动安装一些东西,但它对我来说有效。
我已经在我的 snapcraft.yaml 中使用过它了
parts:
snapd-xdg-open:
source: https://github.com/ubuntu-core/snapd-xdg-open.git
plugin: copy
files:
data/xdg-open: bin/xdg-open
stage-packages:
- dbus
此外,您还必须在最终用户的机器上安装 snapd-xdg-open。
$ sudo apt-get install snapd-xdg-open
答案2
现在,它可以通过新插头找到
...
apps:
...
plugs:
- desktop
...
我尝试xdg-open
链接到一个网站,它会打开主机中安装的 Firefox。
如果您不激活desktop
或其他界面,例如unity7
,您将收到权限被拒绝的消息。尝试使用snappy-debug.security scanlog
了解详细信息并提示修复方法。