Как сказать Chrome, что делать с магнитной ссылкой?

Прямо сейчас Chrome бросает фартук над головой и вызывает Firefox, который открывает связь с rtorrent. Что мне нужно сделать, чтобы исключить шаг Firefox?

67
задан 31 August 2014 в 00:04

11 ответов

Обработка протокола Chrome (или Chromium) работает иначе, чем в Firefox. Firefox в основном следит за всем этим сам, поэтому вы можете настроить обработку протокола (например, ссылки на магнит) в разделе Applications в Preferences . Хром, однако, опирается на xdg-open.

Есть пара вещей, которые нужно сделать, прежде чем xdg-open будет правильно обрабатывать магнитные связи.

  1. Найдите имя настольного файла программы, которую вы хотите обработать магнитной ссылкой. Давайте предположим, что программа Transmission. Он (как обычно) имеет свой настольный файл в /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;
    

    Обратите внимание на %U в строке Exec. Это абсолютно необходимо. Строка MimeType должна выглядеть так, как указано выше.

  3. Теперь о существенном шаге, чтобы сказать xdg-open открыть магнитные связи с помощью Transmission. В терминале введите:

    xdg-mime default transmission-gtk.desktop x-scheme-handler/magnet 
    
  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
    

    замените generic на один из gnome, kde, xfce или lxde. Я выбрал xfce, так как у меня фактически есть сеанс Xfce, который я настроил и иногда использую.

    Недостатком этого подхода является то, что если xdg-open получает обновления, вам придется повторить это. Arch wiki предлагает другой подход, который позволяет избежать этого недостатка (но имеет свой недостаток).

    Предупреждение: Выбор на последнем шаге важнее, чем может показаться. Комплектация lxde у меня не сработала! В xdg-open вспомогательная функция open_lxde использует pcmanfm (файловый менеджер lxde), и что-то не так с кодом из open_lxde или, возможно, с ошибкой pcmanfm.

0
ответ дан 31 August 2014 в 00:04

Просто перетащите ссылку магнита в окно Transmission, и она прекрасно работает без каких-либо настроек ... Я использую стандартную сборку Lubuntu 12.10, ничего особенного ....

0
ответ дан 31 August 2014 в 00:04

Было очень приятно открывать магниты из Chrome с помощью qBittorrent в Ubuntu

xdg-mime по умолчанию qBittorrent.desktop x-circuit-handler / magnet

0
ответ дан 31 August 2014 в 00:04

Использование gnome-open в XFCE сработало для меня.

Это можно принудительно изменить с помощью / usr / bin / xdg-open и изменить

if [ x"$DE" = x"" ]; then
  DE=generic
fi

на

if [ x"$DE" = x"" ]; then
  DE=generic
fi
DE=gnome
0
ответ дан 31 August 2014 в 00:04

Ни одно из других предложений, которые я нашел, не сработало для меня, но это помогло в Debian / Xfce (из http://fluxcode.net/archives/57 ):

В / usr / bin / xdg-open добавьте следующие строки в open_xfce ()

open_xfce()
{
 if(echo "$1" | grep -q '^magnet:'); then
    transmission-gtk "$1" 
    if [ $? -eq 0 ]; then
       exit_success
    fi
 fi

exo-open "$1"
0
ответ дан 31 August 2014 в 00:04

Если вы используете xfce и не хотите ничего портить, вы можете использовать мое решение. Я исправил вручную, отредактировав xdg-open следующим образом:

Прежде всего убедитесь, что у вас есть связанный mime (как описано выше, с xdg-mime)

Затем сделайте резервную копию xdg-open от имени пользователя root (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.

Надеюсь, это поможет.

0
ответ дан 31 August 2014 в 00:04

Парень из alt.os.linux.slackware нашел решение:

http://www.void.gr/kargig/blog/2012/01/24/open-magnet- URLs-с-XDG открыть /

0
ответ дан 31 August 2014 в 00:04

Я годами пытался это исправить и переключиться на Chrome, и, похоже, ничего не работает. У меня наконец появилась мысль, я не уверен, почему я не думал раньше, и это прекрасно работает. Я использую Tixati в Mint, но он должен работать универсально. Chrome указывает магнитные ссылки на usr / bin / transmission-gtk, поэтому я переименовал его в translation-gtk.old и переименовал в tixati в transmission-gtk, выбрал опцию в chrome, чтобы всегда делать это, и нажал на запуск приложения, и теперь ссылки магнита идут прямо в Тиксати так же, как Firefox. Проблема окончательно решена!

0
ответ дан 31 August 2014 в 00:04

Я смешал несколько ответов (что, к сожалению, не сработало для меня) и придумал что-то, что сделало его работающим как шарм! В любом случае он работал на Linux Mint 16 под XFCE.

Сделайте резервную копию xdg-open в / usr / bin, откройте ваш xdg-open с помощью sudo, а затем сделайте функцию open_xfce () именно так:

open_xfce()
{    
    if (echo "$1" | grep -q '^magnet:'); then
        gnome-open "$1"
    else
        exo-open "$1"
    fi
}

Она грязная, и вам нужно отредактировать ее каждое обновление xdg-open, но эй, это работает!

0
ответ дан 31 August 2014 в 00:04

Это работает для меня в Ubuntu 18 с FF (для потопа):

gio mime x-scheme-handler/magnet deluge.desktop

Я знаю, что не отвечает на вопрос, но я тоже использую Chrome, и это лучше обходить, чем копировать вставка магнитного звена.

0
ответ дан 31 August 2014 в 00:04

В Ubuntu 20.04 выполните одну из следующих команд.

Webtorrent

xdg-mime по умолчанию webtorrent-desktop.desktop x-scheme-handler/magnet

Transmission

xdg-mime default transfer-gtk.desktop x-scheme-handler/magnet

Любой другое торрент-приложение

Файл X.desktop должен находиться в каталоге /usr/share/applications

1
ответ дан 28 June 2020 в 12:54

Другие вопросы по тегам:

Похожие вопросы: