如何告诉 Chrome 如何处理磁力链接?

Bev*_*evA 72 firefox google-chrome bittorrent

现在 Chrome 把它的围裙扔在它的头上并调用 Firefox,它打开了与 rtorrent 的链接。我需要做什么来消除 Firefox 步骤?

Cha*_*Suh 93

Chrome(或 Chromium)协议处理的工作方式与 Firefox 不同。Firefox 基本上自己跟踪所有这些,这就是为什么您可以在 PreferencesApplications 部分配置协议处理(如磁力链接)。但是,Chrome 依赖于xdg-open.

xdg-open正确处理磁力链接之前,您需要做几件事。

  1. 找到要处理磁力链接的程序的桌面文件名称。假设程序是传输。它(像往常一样)有它的桌面文件,/usr/share/applications/事实上,通过仔细阅读目录列表,我发现我的传输版本实际上是 gtk 版本,因此它的桌面文件被称为transmission-gtk.desktop.

  2. 可能是桌面文件搞砸了。因此,您可以检查是否/usr/share/applications/transmission-gtk.desktop包含以下行:

    Exec=transmission-gtk %U
    [some lines omitted]
    MimeType=application/x-bittorrent;x-scheme-handler/magnet;
    
    Run Code Online (Sandbox Code Playgroud)

    注意%UExec 行中的 。这是绝对必要的。MimeType 行应如上所示。

  3. 现在是告诉xdg-open使用传输打开磁力链接的重要步骤。 在终端中,输入:

    xdg-mime default transmission-gtk.desktop x-scheme-handler/magnet 
    
    Run Code Online (Sandbox Code Playgroud)
  4. 如果您使用 Gnome、KDE、Xfce 或 LXDE,则不需要此步骤) 最后,xdg-open假设您正在运行标准桌面环境之一:gnome、kde、xfce 和 lxde。如果你不是,xdg-open将无法在磁力链接上工作。正如Arch wiki建议的,您可以简单地修改/usr/bin/xdg-open. 在文件的末尾,您会找到以以下内容开头的部分:

    detectDE
    if [ x"$DE" = x"" ]; then
       DE=generic
    
    Run Code Online (Sandbox Code Playgroud)

    更改generic到之一gnomekdexfce,或lxde。我之所以选择,是xfce因为我实际上有一个我偶尔配置和使用的 Xfce 会话。

    这种方法的缺点是,如果xdg-open获得更新,您将不得不重做。Arch wiki 提出了另一种避免此缺陷的方法(但有其自身的缺点)。

    警告:最后一步中的选择比看起来更重要。采摘lxde对我不起作用!在 中xdg-open,辅助函数open_lxde依赖于pcmanfm(lxde 文件管理器),并且 中的代码有问题open_lxde或者可能pcmanfm是 错误。

  • 谢谢!我只是做了一个 `xdg-mime default deluge.desktop x-scheme-handler/magnet` 来将它与 Deluge 关联起来。 (7认同)
  • Linux 怎么能成功,当专家更不用说菜鸟都不能让它工作的时候。我每天都偏好使用Linux,但桌面体验不够好。祝 SteamOS 好运。 (2认同)
  • 还想说谢谢你的回答,效果很好。因为我在 Linux Mint 上使用 MATE 而不是 GNOME,所以我必须执行第 4 步。奇怪的是,`mate` 不起作用(这是我在运行 MATE 后就预料到的),但是 `gnome` 起作用了。 (2认同)

小智 7

只需将磁力链接拖到传输窗口中,它就可以很好地为我工作,无需任何调整......我使用的是 Lubuntu 12.10 的库存版本,没什么特别的......


Bev*_*evA 0

alt.os.linux.slackware 中的一个人找到了解决方案:

http://www.void.gr/kargig/blog/2012/01/24/open-magnet-urls-with-xdg-open/