Jak powiedzieć Chromeowi, co zrobić z linką magnetyczną?


67

W tej chwili Chrome rzuca swój fartuch nad głowę i wywołuje Firefox, który otwiera link za pomocą rtorrent. Co muszę zrobić, aby wyeliminować krok Firefox?


z jakiej wersji Google Chrome korzystasz? google-chrome -version
— Alvar

Zdarzyło mi się to (na Ubuntu 14.04.2 LTS), gdy Firefox został ustawiony jako moja domyślna przeglądarka. Jeśli Chromium zostało ustawione jako moja domyślna przeglądarka, mam tylko nową pustą kartę w Chromium. - W końcu rozwiązałem problem, łatając mój, /usr/bin/xdg-openzgodnie z sugestią w zaakceptowanej odpowiedzi na „ Łącza magnesów torrentowych otwierają nowe okno, ale nie transmisji ”.
— zrajm

Odpowiedzi:


90

Obsługa protokołu Chrome (lub Chromium) działa inaczej niż w przeglądarce Firefox. Firefox zasadniczo śledzi to wszystko, dlatego możesz skonfigurować obsługę protokołu (np. Linki magnetyczne) w części Aplikacje w Preferencjach . Chrome jednak polega na xdg-open.

Jest kilka rzeczy, które musisz zrobić, zanim odpowiednio xdg-openporadzisz sobie z linkami magnetycznymi.

  1. Znajdź nazwę pliku na pulpicie programu, który ma obsługiwać łącze magnesu. Załóżmy, że program to Transmisja. Ma (jak zwykle) swój plik na pulpicie /usr/share/applications/i faktycznie, przeglądając listę katalogu, stwierdzam, że moja wersja transmisji jest w rzeczywistości wersją gtk, więc jego plik nazywa się transmission-gtk.desktop.

  2. Możliwe, że plik pulpitu jest zawalony. Możesz więc sprawdzić, czy /usr/share/applications/transmission-gtk.desktopzawiera linie:

    Exec=transmission-gtk %U
    [some lines omitted]
    MimeType=application/x-bittorrent;x-scheme-handler/magnet;
    

    Zwróć uwagę na %Uwiersz Exec. Jest to absolutnie konieczne. Linia MimeType powinna wyglądać jak powyżej.

  3. Teraz niezbędny krok, aby powiedzieć, xdg-openaby otworzyć łącza magnesów za pomocą Transmisji. W terminalu wpisz:

    xdg-mime default transmission-gtk.desktop x-scheme-handler/magnet 
    
  4. ( Krok nie jest konieczny, jeśli używasz Gnome, KDE, Xfce lub LXDE ). Wreszcie, zakładasz, xdg-openże używasz jednego ze standardowych środowisk pulpitu: gnome, kde, xfce i lxde. Jeśli nie, xdg-opennie będzie działać na linkach magnetycznych. Jak sugeruje wiki Arch , możesz po prostu zmodyfikować /usr/bin/xdg-open. Na końcu pliku znajdziesz fragment, który zaczyna się od:

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

    zmiany genericdo jednego gnome, kde, xfce, lub lxde. Wybrałem, xfceponieważ faktycznie mam sesję Xfce, którą skonfigurowałem i używam od czasu do czasu.

    Minusem tego podejścia jest to, że jeśli xdg-openotrzyma aktualizacje, musisz to powtórzyć. Arch Arch sugeruje inne podejście, które pozwala uniknąć tej wady (ale ma swoją wadę).

    Ostrzeżenie: wybór w ostatnim kroku jest ważniejszy niż mogłoby się wydawać. Zbieranie lxdenie działało dla mnie! W xdg-open, funkcja pomocnika open_lxdepolega na pcmanfm(menedżerze plików lxde) i coś jest nie tak z kodem, open_lxdealbo może to pcmanfmwina.


7
Dziękuję Ci! Ja po prostu nie xdg-mime default deluge.desktop x-scheme-handler/magnetskojarzyć go z potopu zamiast.
— Justin Force

1
Mam (prawdopodobnie) związany z tym problem . Wypróbowałem twoje rozwiązanie, ale nie działa.
— Quinn Culver,

2
Jak Linux może odnieść sukces, skoro eksperci nie mówiąc już o noobach nie mogą sprawić, by działał. Korzystam z Linuksa z preferencji na co dzień, ale wrażenia pulpitu nie są wystarczające. Powodzenia dla SteamOS.
— Sam Watkins

2
Chciałem również podziękować za odpowiedź, zadziałało świetnie. Ponieważ korzystam z Linux Mint, używając MATE zamiast GNOME, musiałem zrobić krok 4. O dziwo, matenie działało (czego bym się spodziewał po uruchomieniu MATE), ale działało gnome.
— machineghost

1
@machineghost dzięki za komentarz: ja też jestem na MATE i ta odpowiedź + twój komentarz posortowały go dla mnie.
— Max Williams,

6

po prostu przeciągnij link magnesu do okna Transmission i działa dobrze dla mnie bez żadnych poprawek .... Używam standardowej wersji Lubuntu 12.10 nic szczególnego ...


To inne podejście i podoba mi się. Ale to nie rozwiązuje problemu, gdy link magnes jest otwierany automatycznie i wymaga dużej interakcji użytkownika (kliknięć), gdy transmisja nie jest jeszcze uruchomiona.
— Joel Sjögren,

2

Bardzo fajnie działało otwieranie magnesów z Chrome za pomocą qBitorrent w Lubuntu

xdg-mime domyślnie qBittorrent.desktop x-schemat-handler / magnes


1

jeśli używasz xfce i nie chcesz nic zepsuć, możesz skorzystać z mojego rozwiązania. Naprawiłem ręcznie edytując xdg-open w następujący sposób:

Przede wszystkim upewnij się, że masz skojarzony mime (jak wyjaśniono wcześniej z xdg-mime)

Następnie wykonaj kopię zapasową xdg-open jako root (sudo, jeśli to dotyczy)

# cp /usr/bin/xdg-open /usr/bin/xdg-open.old

Na koniec edytuj jako root / usr / bin / xdg-open, znajdź open_xfce () i dodaj linie oznaczone +, np. 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

dodaje tylko wyjątek dla ogniw magnetycznych, więc będą otwierane przy pomocy gnome-open zamiast exo-open.

Mam nadzieję, że to pomoże.


1

Żadna z innych sugestii, które znalazłem, nie działała dla mnie, ale to zadziałało w Debianie / Xfce (z http://fluxcode.net/archives/57 ):

W / usr / bin / xdg-open dodaj następujące wiersze do 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

Użycie gnome-open na XFCE zadziałało dla mnie.

Można to wymusić edycją / usr / bin / xdg-open i zmianą

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

do

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

0

Działa to dla mnie w Ubuntu 18 z FF (dla potopu):

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

Wiem, że to nie odpowiada na pytanie, ale używam również Chrome i jest to lepsze rozwiązanie niż kopiowanie i wklejanie linku magnesu.


-1

Wymieszałem kilka odpowiedzi (które niestety nie działały dla mnie) i wymyśliłem coś, co sprawiło, że działało to jak urok! W każdym razie działało na Linux Mint 16 pod XFCE.

Utwórz kopię zapasową xdg-open w / usr / bin, otwórz xdg-open za pomocą sudo, a następnie uruchom funkcję open_xfce () dokładnie tak:

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

Jest brudny i musisz go edytować przy każdej aktualizacji xdg-open, ale hej, to działa!


-1

Przez lata próbowałem to naprawić i przejść na Chrome i nic nie działa. W końcu pomyślałem, że nie jestem pewien, dlaczego wcześniej o tym nie myślałem i działa świetnie. Używam Tixati w Mennicy, ale powinno działać uniwersalnie. Chrome wskazuje linki magnesów na usr / bin / Transmission-gtk, więc zmieniłem nazwę na transmisję-gtk.old i przemianowałem tixati na transmisję-gtk i wybrałem opcję w chrome, aby zawsze to robić, i uruchomiłem aplikację uruchamiającą, a teraz linki magów przechodzą bezpośrednio do Tixati tak jak Firefox. Problem w końcu rozwiązany!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.