Як сказати Chrome, що робити з магнітним посиланням?


67

Зараз Chrome накидає фартух на голову і дзвонить у Firefox, який відкриває посилання з rtorrent. Що потрібно зробити, щоб усунути крок Firefox?


яку версію Google Chrome ви використовуєте? google-chrome -version
Алвар

Це сталося зі мною (на Ubuntu 14.04.2 LTS), коли Firefox був встановлений як мій браузер за замовчуванням. Якщо Chromium був встановлений як мій браузер за замовчуванням, я отримав лише нову порожню вкладку в Chromium. - Врешті-решт я вирішив проблему, закріпивши свою, /usr/bin/xdg-openяк було запропоновано у прийнятій відповіді на " Торрент-посилання магніту відкривають нове вікно, але не передають ".
zrajm

Відповіді:


90

Обробка протоколів 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 wiki пропонує інший підхід, який дозволяє уникнути цієї вади (але має і свій мінус).

    Попередження: вибір на останньому кроці важливіший, ніж може здатися. Збір lxdeне працював для мене! У цьому xdg-open, помічниця функція open_lxdeпокладається на pcmanfm(lxde file manager), і щось не так з кодом open_lxdeабо, можливо, в цьому pcmanfmвинна.


7
Дякую! Я просто зробив, xdg-mime default deluge.desktop x-scheme-handler/magnetщоб пов’язати це з Deluge замість цього.
Джастін Форс

1
У мене є (ймовірно) пов'язана проблема . Я спробував ваше рішення, але воно не працює.
Квінн Калвер

2
Як Linux може досягти успіху, коли фахівці, не кажучи вже про нооби, не можуть змусити його працювати. Я використовую Linux за допомогою переваг щодня, але досвід роботи на робочому столі недостатньо хороший. Успіхів SteamOS.
Сем Уоткінс

2
Також хотів сказати спасибі за відповідь, це спрацювало чудово. Оскільки я на Linux Mint використовую MATE замість GNOME, мені довелося зробити крок 4. Дивно, mateщо не працювало (чого я б очікував, коли я запускаю MATE), але gnomeце було.
machineghost

1
@machineghost дякую за ваш коментар: я теж в МАТЕ, і ця відповідь + ваш коментар сортував це для мене.
Макс Вільямс

6

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


Це ще один підхід і мені це подобається. Але це не вирішує проблему, коли посилання на магніт відкривається автоматично і вимагає великої взаємодії з користувачем (кліків), коли передача ще не працює.
Joel Sjögren

2

Дуже приємно працювали, щоб відкрити магніти з Chrome із qBitorrent у Lubuntu

xdg-mime за замовчуванням qBittorrent.desktop x-схема-обробник / магніт


1

якщо ви використовуєте 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.

Сподіваюся, це допомагає.


1

Жодна з інших пропозицій, які я знайшов, не працювала для мене, але це зробило трюк у 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

Хлопець у alt.os.linux.slackware знайшов рішення:

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


Ласкаво просимо до Ask Ubuntu! Хоча це теоретично може відповісти на питання, бажано було б сюди включити істотні частини відповіді та надати посилання для довідки.
Майкл Мартін-Смукер

Це насправді складніше, ніж потрібно. Дивіться мою відповідь.
Чан-Хо Су

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

0

Це працює для мене в ubuntu 18 з FF (для потопу):

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

Я знаю, що це не відповідає на питання, але я також використовую Chrome, і це краще вирішити проблему, ніж копіювати та вставляти магніт.


-1

Я змішав декілька відповідей (що, на жаль, не працювало для мене) і придумав щось, що змусило це працювати як шарм! У будь-якому разі він працював на 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, але ей, воно працює!


-1

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.