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

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

10 ответов

Обработка протокола Chrome (или Chromium) работает иначе, чем в Firefox. Firefox в основном следит за всем этим сам, поэтому вы можете настроить обработку протокола (например, магнитные ссылки) в разделе " Приложения" в настройках. Chrome, однако, опирается на 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 виноват

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

Работало очень приятно открывать магниты из Chrome с помощью qBitorrent в Lubuntu

xdg-mime по умолчанию qBittorrent.desktop x-схема-обработчик / магнит

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

Webtorrent

xdg-mime default webtorrent-desktop.desktop x-scheme-handler/magnet

Передача инфекции

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

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

X.desktop файл должен существовать в /usr/share/applications каталог

Если вы используете 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.

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

Ни одно из других предложений, которые я нашел, не сработало для меня, но это помогло в Debian / Xfcehttp://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"

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

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

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

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

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

Использование 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

Я смешал несколько ответов (что, к сожалению, не сработало для меня) и придумал что-то, что сделало его работоспособным! В любом случае, он работал на 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, но эй, это работает!

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

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