从 snap 中打开 xdg-open

从 snap 中打开 xdg-open

如何在 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了解详细信息并提示修复方法。

相关内容