现在 Chrome 会将围裙扔到头上并调用 Firefox,后者会使用 rtorrent 打开链接。我需要做什么才能消除 Firefox 步骤?
答案1
Chrome(或 Chromium)协议处理方式与 Firefox 不同。Firefox 基本上会自行跟踪所有内容,因此您可以在偏好设置中的应用程序部分。然而,Chrome 依赖于xdg-open
。
xdg-open
在正确处理磁力链接之前,您需要做几件事。
找到要处理磁力链接的程序的桌面文件的名称。假设该程序是 Transmission。它(像往常一样)有它的桌面文件,事实上
/usr/share/applications/
,通过仔细查看目录列表,我发现我的 transmission 版本实际上是 gtk 版本,所以它的桌面文件名为transmission-gtk.desktop
。桌面文件可能已损坏。因此,您可以检查是否
/usr/share/applications/transmission-gtk.desktop
包含以下行:Exec=transmission-gtk %U [some lines omitted] MimeType=application/x-bittorrent;x-scheme-handler/magnet;
注意
%U
Exec 行中的。这绝对必要。MimeType 行应如上所示。xdg-open
现在来看看使用 Transmission 打开磁力链接的基本步骤。 在终端中输入:xdg-mime default transmission-gtk.desktop x-scheme-handler/magnet
(如果您使用 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
更改为、、或
generic
之一。我之所以选择它,是因为我实际上有一个已配置并偶尔使用的 Xfce 会话。gnome
kde
xfce
lxde
xfce
这种方法的缺点是,如果
xdg-open
获得更新,您必须重新执行此操作。Arch wiki 建议使用另一种方法避免此缺陷(但也有其缺点)。警告:最后一步的选择比看起来更重要。选择
lxde
对我来说不起作用!在 中xdg-open
,辅助函数open_lxde
依赖于pcmanfm
(lxde 文件管理器),并且 中的代码有问题,open_lxde
或者可能是 的pcmanfm
错误。
答案2
只需将磁力链接拖入 Transmission 窗口,它就可以正常工作,无需任何调整......我正在使用 Lubuntu 12.10 的原始版本,没什么特别的......
答案3
在 Lubuntu 中使用 qBitorrent 打开 Chrome 中的磁铁效果非常好
xdg-mime 默认 qBittorrent.desktop x-scheme-handler/magnet
答案4
如果你使用 xfce 并且不想弄乱任何东西,你可以使用我的解决方案。我通过手动编辑 xdg-open 来修复它,如下所示:
首先确保你已经关联了 mime(如前所述,使用 xdg-mime)
然后以 root 身份备份 xdg-open(如果适用,请使用 sudo)
# cp /usr/bin/xdg-open /usr/bin/xdg-open.old
最后,以 root 身份编辑 /usr/bin/xdg-open,找到 open_xfce() 并添加标有 + 的行,例如使用 nano
# nano /usr/bin/xdg-open
open_xfce()
+ if [ "\`echo $1 | sed -n 's/\(^[[:alnum:]+\.-]*\):.*$/\1/p'\`" == "magnet" ]; then
+ gnome-open "$1"
+ else
exo-open "$1"
+ fi
它仅为磁力链接添加了例外,因此它们将使用 gnome-open 而不是 exo-open 打开。
希望能帮助到你。