Как сообщить Chrome, что делать с магнитной связью?

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

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

    Обратите внимание на %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 , вы можете просто изменить /usr/bin/xdg-open . В конце файла вы найдете часть, которая начинается с:

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

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

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

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

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

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

Прежде всего убедитесь, что у вас связанный мим (как объяснялось ранее, с 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 / 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" 

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

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

Парень в файле alt.os.linux.slackware нашел решение:

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

Использование 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 в Монетном дворе, но он должен работать повсеместно. Chrome указывает на магнитные ссылки на usr / bin / transmission-gtk, поэтому я переименовал его в передачу-gtk.old и переименовал tixati в передачу-gtk и выбрал опцию в chrome, чтобы всегда делать это и запускать приложение-приложение, и теперь mag-ссылки идут прямо в Тиксати, как и Firefox. Проблема окончательно решена!