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?

BevA
źródło
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.

Chan-Ho Suh
źródło
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 ...

Choroszo
źródło
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

Mariuz
źródło
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.

Carlos Salvador Pérez Salgado
źródło
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"
Tomek
źródło
0

Facet z alt.os.linux.slackware znalazł rozwiązanie:

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

BevA
źródło
Witamy w Ask Ubuntu! Chociaż teoretycznie może to odpowiedzieć na pytanie, lepiej byłoby zawrzeć tutaj istotne części odpowiedzi i podać odnośnik.
Michael Martin-Smucker
Jest to w rzeczywistości bardziej skomplikowane niż to konieczne. Zobacz moją odpowiedź.
Chan-Ho Suh
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
brillout
źródło
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.

uvasal
źródło
-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!


źródło
-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!

użytkownik 286587
źródło