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

64

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

    
задан BevA 29.02.2012 в 21:00
источник

9 ответов

85

Обработка протокола 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 открыть магнитные ссылки с помощью Передачи. В терминале введите:

    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 , xfce или lxde . Я выбрал xfce , так как у меня на самом деле есть сеанс Xfce, который я настроил и использовал иногда.

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

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

ответ дан Chan-Ho Suh 08.05.2012 в 10:09
5

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

    
ответ дан khorosho 19.12.2012 в 20:14
2

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

  

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

    
ответ дан Mariuz 06.02.2014 в 22:18
1

Если вы используете 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  | sed -n 's/\(^[[:alnum:]+\.-]*\):.*$//p'\'" == "magnet" ]; then
+     gnome-open ""
+ else
      exo-open ""
+ fi

он только добавляет исключение для магнитных ссылок, поэтому они будут открыты с открытым геном, а не exo-open.

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

    
ответ дан Carlos Salvador Pérez Salgado 14.06.2013 в 09:44
1

Ни один из других предложений, которые я нашел, не работал для меня, но это сделал трюк под Debian / Xfce (из Ссылка ):

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

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

exo-open ""
    
ответ дан Tom 01.09.2013 в 14:54
0

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

Ссылка

    
ответ дан BevA 01.03.2012 в 20:34
0

Использование 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
    
ответ дан brillout 02.12.2013 в 23:27
-1

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

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

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

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

    
ответ дан user266863 09.04.2014 в 00:18
-2

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

    
ответ дан user286587 29.05.2014 в 19:44