Wie kann ich Chrome mitteilen, was mit einem Magnetlink geschehen soll?


67

Im Moment wirft Chrome seine Schürze über den Kopf und ruft Firefox auf, wodurch der Link zu rtorrent geöffnet wird. Was muss ich tun, um den Firefox-Schritt zu beseitigen?


Welche Version von Google Chrome verwenden Sie? google-chrome -version
Alvar

Dies passierte mir (unter Ubuntu 14.04.2 LTS), als Firefox als Standardbrowser festgelegt wurde. Wenn Chromium als Standardbrowser festgelegt wurde, wurde in Chromium nur ein neuer leerer Tab angezeigt. - Am Ende habe ich das Problem behoben, indem ich mein, /usr/bin/xdg-openwie in der akzeptierten Antwort auf " Torrent-Magnet-Links öffnen neues Fenster, aber nicht Übertragung " vorgeschlagen, gepatcht habe .
Zrajm,

Antworten:


90

Die Behandlung von Chrome- (oder Chromium-) Protokollen funktioniert anders als in Firefox. Firefox behält im Grunde alles selbst im Auge, weshalb Sie das Protokollhandling (wie Magnetlinks) im Bereich " Anwendungen" der Voreinstellungen konfigurieren können . Chrome ist jedoch darauf angewiesen xdg-open.

Es gibt ein paar Dinge, die Sie tun müssen, bevor Sie xdg-openMagnetverbindungen richtig handhaben.

  1. Suchen Sie den Namen der Desktop-Datei des Programms, mit dem Sie den Magnet-Link bearbeiten möchten. Nehmen wir an, das Programm ist Transmission. Es hat (wie üblich) seine Desktop-Datei in /usr/share/applications/und tatsächlich, indem ich die Auflistung des Verzeichnisses durchlese, stelle ich fest, dass meine Übertragungsversion tatsächlich die gtk-Version ist, so dass seine Desktop-Datei aufgerufen wird transmission-gtk.desktop.

  2. Es ist möglich, dass die Desktop-Datei durcheinander ist. So können Sie überprüfen, dass /usr/share/applications/transmission-gtk.desktopdie Zeilen enthält:

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

    Beachten Sie das %Uin der Exec-Zeile. Es ist absolut notwendig. Die MimeType-Zeile sollte wie oben aussehen.

  3. Nun ist der wesentliche Schritt xdg-openzum Öffnen von Magnetverbindungen mithilfe von Transmission. Geben Sie im Terminal Folgendes ein:

    xdg-mime default transmission-gtk.desktop x-scheme-handler/magnet 
    
  4. ( Schritt nicht erforderlich, wenn Sie Gnome, KDE, Xfce oder LXDE verwenden ) Zum xdg-openSchluss wird davon ausgegangen , dass Sie eine der Standard-Desktop-Umgebungen ausführen: gnome, kde, xfce und lxde. Wenn Sie nicht sind, xdg-openwird nicht auf Magnetverbindungen arbeiten. Wie im Arch-Wiki vorgeschlagen , können Sie diese einfach ändern /usr/bin/xdg-open. Am Ende der Datei finden Sie einen Teil, der mit Folgendem beginnt:

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

    ändern genericeinem der gnome, kde, xfce, oder lxde. Ich habe gewählt, xfceda ich tatsächlich eine Xfce-Sitzung habe, die ich gelegentlich konfiguriert und verwendet habe.

    Der Nachteil dieses Ansatzes ist, dass xdg-openSie dies wiederholen müssen , wenn Sie Aktualisierungen erhalten. Das Arch-Wiki schlägt einen anderen Ansatz vor, der diesen Fehler vermeidet (aber seinen eigenen Nachteil hat).

    Warnung: Die Auswahl im letzten Schritt ist wichtiger als es scheint. Kommissionierung lxdehat bei mir nicht funktioniert! In xdg-openist die Hilfefunktion open_lxdeauf pcmanfm(lxde file manager) angewiesen und irgendetwas stimmt nicht mit dem Code in open_lxdeoder vielleicht liegt es an ihm pcmanfm.


7
Danke! Ich habe xdg-mime default deluge.desktop x-scheme-handler/magnetes stattdessen nur mit Deluge in Verbindung gebracht.
Justin Force

1
Ich habe (wahrscheinlich) ein ähnliches Problem . Ich habe Ihre Lösung ausprobiert, aber sie funktioniert nicht.
Quinn Culver

2
Wie kann Linux erfolgreich sein, wenn Experten, geschweige denn Noobs, es nicht zum Laufen bringen können? Ich benutze jeden Tag am liebsten Linux, aber die Desktop-Erfahrung ist nicht gut genug. Viel Glück bei SteamOS.
Sam Watkins

2
Auch wollte ich mich für die Antwort bedanken, es hat super geklappt. Da ich unter Linux Mint MATE anstelle von GNOME verwende, musste ich Schritt 4 mateausführen. Seltsamerweise funktionierte es nicht (was ich erwartet hätte, seit ich MATE ausgeführt habe), gnometat es aber.
Maschinengeist

1
@machineghost danke für deinen Kommentar: Ich bin auch bei MATE und diese Antwort + dein Kommentar haben ihn für mich sortiert.
Max Williams

6

Ziehen Sie einfach den Magnet-Link in das Transmission-Fenster und es funktioniert einwandfrei für mich ohne irgendwelche Anpassungen.


Dies ist ein anderer Ansatz und ich mag es. Das Problem wird jedoch nicht behoben, wenn der Magnetlink automatisch geöffnet wird und viel Benutzerinteraktion (Klicks) erforderlich ist, wenn die Übertragung noch nicht läuft.
Joel Sjögren

2

Es hat sehr gut funktioniert, Magnete aus Chrome mit qBitorrent in Lubuntu zu öffnen

xdg-mime default qBittorrent.desktop x-schema-handler / magnet


1

wenn du xfce verwendest und nichts durcheinander bringen willst, könntest du meine Lösung verwenden. Ich habe das Problem durch manuelle Bearbeitung von xdg-open wie folgt behoben:

Stellen Sie zunächst sicher, dass Sie den MIME zugeordnet haben (wie zuvor erläutert, mit xdg-mime).

Dann sichern Sie xdg-open als root (sudo wenn das zutrifft)

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

Bearbeiten Sie schließlich als root / usr / bin / xdg-open, suchen Sie open_xfce () und fügen Sie die mit + gekennzeichneten Zeilen hinzu, z. B. mit 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

Es wird nur die Ausnahme für die Magnet-Links hinzugefügt, sodass sie mit gnome-open anstelle von exo-open geöffnet werden.

Ich hoffe es hilft.


1

Keiner der anderen Vorschläge, die ich gefunden habe, hat für mich funktioniert, aber dies hat unter Debian / Xfce (von http://fluxcode.net/archives/57 ) funktioniert :

Fügen Sie in / usr / bin / xdg-open die folgenden Zeilen zu open_xfce () hinzu

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

exo-open "$1"


0

Die Verwendung von gnome-open unter XFCE hat sich für mich bewährt.

Dies kann durch Bearbeiten von / usr / bin / xdg-open und Ändern erzwungen werden

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

zu

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

0

Dies funktioniert für mich in Ubuntu 18 mit FF (für Hochwasser):

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

Ich weiß, dass dies die Frage nicht beantwortet, aber ich verwende auch Chrome und dies ist eine bessere Lösung, als den Magnet-Link zu kopieren und einzufügen.


-1

Ich habe ein paar Antworten gemischt (das hat bei mir leider nicht geklappt) und mir etwas einfallen lassen, das es zu einem Zauber gemacht hat! Es funktionierte auf jeden Fall unter Linux Mint 16 unter XFCE.

Erstellen Sie ein Backup von xdg-open unter / usr / bin, öffnen Sie Ihr xdg-open mit sudo und lassen Sie open_xfce () genau so funktionieren:

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

Es ist schmutzig und Sie müssen es bei jedem xdg-open-Update bearbeiten, aber hey, es funktioniert!


-1

Ich habe jahrelang versucht, dies zu beheben und zu Chrome zu wechseln, und nichts scheint zu funktionieren. Ich hatte endlich einen Gedanken, ich bin mir nicht sicher, warum ich vorher nicht darüber nachgedacht habe und es funktioniert großartig. Ich verwende Tixati in Mint, aber es sollte universell funktionieren. Chrome zeigt Magnet-Links auf usr / bin / transmission-gtk, also habe ich das in transmission-gtk.old umbenannt und tixati in transmission-gtk umbenannt und die Option in Chrome ausgewählt, dies immer zu tun und die App zu starten Tixati genau wie Firefox. Problem endlich gelöst!

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.