Frage Wie kann ich Chrome mitteilen, was mit einer Magnetverbindung zu tun ist?


Gerade jetzt wirft Chrome seine Schürze über den Kopf und ruft Firefox an, der den Link zu rtorrent öffnet. Was muss ich tun, um den Firefox-Schritt zu beseitigen?


64
2018-02-29 20:00


Ursprung


Welche Version von Google Chrome verwenden Sie? google-chrome -version - Alvar
Dies passierte mir (unter Ubuntu 14.04.2 LTS) als Firefox als Standardbrowser eingestellt wurde. Wenn Chromium als Standardbrowser festgelegt wurde, habe ich nur einen neuen leeren Tab in Chromium erhalten. - Am Ende habe ich das Problem gelöst, indem ich meine geflickt habe /usr/bin/xdg-open wie in der angenommenen Antwort auf "Torrent Magnet Links öffnen neues Fenster, aber keine Übertragung". - zrajm


Antworten:


Die Protokollbehandlung mit Chrome (oder Chromium) funktioniert anders als in Firefox. Firefox behält im Grunde alles selbst im Auge, weshalb Sie die Protokollbehandlung (wie Magnetverbindungen) im Anwendungen Teil der Einstellungen. Chrome setzt jedoch auf xdg-open.

Es gibt ein paar Dinge, die Sie vorher tun müssen xdg-open wird mit Magnetverbindungen richtig umgehen.

  1. Suchen Sie den Namen der Desktopdatei des Programms, das Sie mit der Magnetverbindung bearbeiten möchten. Nehmen wir an, das Programm ist Übertragung. Es hat (wie üblich) seine Desktop-Datei /usr/share/applications/ und tatsächlich, indem ich die Liste des Verzeichnisses durchlese, finde ich, dass meine Version der Übertragung 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 das überprüfen /usr/share/applications/transmission-gtk.desktop enthält die Zeilen:

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

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

  3. Jetzt für den wesentlichen Schritt zu erzählen xdg-open Öffnen von Magnetverbindungen mit Transmission.  Geben Sie im Terminal Folgendes ein:

    xdg-mime default transmission-gtk.desktop x-scheme-handler/magnet 
    
  4. (Schritt nicht notwendig, wenn Sie Gnome, KDE, Xfce oder LXDE verwenden) Zuletzt, xdg-open Angenommen, Sie führen eine der Standard-Desktopumgebungen aus: gnome, kde, xfce und lxde. Wenn Sie nicht sind, xdg-open funktioniert nicht bei Magnetverbindungen. Wie vorgeschlagen auf dem Arch-Wikikannst du einfach modifizieren /usr/bin/xdg-open. Am Ende der Datei finden Sie einen Abschnitt, der mit folgendem beginnt:

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

    Veränderung generic zu einem von gnome, kde, xfce, oder lxde. Ich entschied mich xfce da ich tatsächlich eine Xfce-Sitzung habe, die ich konfiguriert habe und gelegentlich verwende.

    Der Nachteil dieses Ansatzes ist, dass wenn xdg-open bekommt Updates, du musst das wiederholen. Das Arch-Wiki schlägt einen anderen Ansatz vor, der diesen Fehler vermeidet (aber seinen eigenen Nachteil hat).

    Warnung: Die Entscheidung im letzten Schritt ist wichtiger als es scheint. Kommissionierung lxde hat nicht für mich gearbeitet! Im xdg-open, die Hilfsfunktion open_lxde beruht auf pcmanfm (lxde Dateimanager) und etwas stimmt nicht mit dem Code in open_lxde oder vielleicht ist es pcmanfmist schuld.


86
2018-05-08 08:09



Vielen Dank! Ich habe gerade eine gemacht xdg-mime default deluge.desktop x-scheme-handler/magnet um es stattdessen mit Deluge zu verbinden. - Justin Force
Ich habe ein (wahrscheinlich) verwandtes Problem. Ich habe deine Lösung versucht, aber es funktioniert nicht. - Quinn Culver
Wie kann Linux gelingen, wenn Experten, ganz zu schweigen von Noobs, nicht funktionieren können? Ich benutze jeden Tag Linux, aber die Desktop-Erfahrung ist nicht gut genug. Viel Glück für SteamOS. - Sam Watkins
Wollte auch Danke für die Antwort sagen, es hat super geklappt. Da ich Linux Mint anstelle von GNOME mit MATE verwende, musste ich Schritt 4 tun. Seltsamerweise mate hat nicht funktioniert (was ich erwartet hätte, seit ich MATE laufen lasse), aber gnome hat getan. - machineghost
@machineghost danke für deinen Kommentar: Ich bin auch auf MATE und diese Antwort + Ihr Kommentar sortiert es für mich. - Max Williams


Ziehe einfach den Magnetlink in das Transmission-Fenster und es funktioniert für mich ohne irgendwelche Verbesserungen ... Ich benutze einen Lageraufbau von Lubuntu 12.10 nichts Schickes ....


5
2017-12-19 19:14



Dies ist ein anderer Ansatz und ich mag es. Aber es löst das Problem nicht, wenn die Magnetverbindung automatisch geöffnet wird und es viel Benutzerinteraktion (Klicks) erfordert, wenn die Übertragung noch nicht läuft. - Joel Sjögren


Arbeitete sehr gut, um Magneten von Chrome mit qBitorrent in Lubuntu zu öffnen

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


2
2018-02-06 21:18





Wenn Sie xfce verwenden und nichts durcheinander bringen wollen, können Sie meine Lösung verwenden. Ich habe das durch manuelle Bearbeitung von xdg-open wie folgt behoben:

Stellen Sie zuerst sicher, dass Sie den Pantomime zugeordnet haben (wie zuvor mit xdg-mime erklärt)

Dann backup 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 nach open_xfce () und fügen Sie die mit + markierten 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 fügt nur die Ausnahme für die Magnet-Links hinzu, so dass sie mit gnome-open statt mit exo-open geöffnet werden.

Ich hoffe es hilft.


1
2018-06-14 07:44





Keiner der anderen Vorschläge, die ich fand, funktionierte für mich, aber das machte den Trick unter Debian / Xfce ( von http://fluxcode.net/archives/57 ):

Fügen Sie in / usr / bin / xdg-open folgende 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"

1
2017-09-01 12:54





Ein Typ in alt.os.linux.slackware fand die Lösung:

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


0
2018-03-01 19:34



Willkommen bei Ask Ubuntu! Während dies theoretisch die Frage beantworten könnte, es wäre vorzuziehen um die wesentlichen Teile der Antwort hier einzubeziehen und den Link als Referenz bereitzustellen. - Michael Martin-Smucker
Das ist eigentlich komplizierter als nötig. Siehe meine Antwort. - Chan-Ho Suh


Die Verwendung von gnome-open auf XFCE hat für mich funktioniert.

Dies kann durch Bearbeiten von / usr / bin / xdg-open erzwungen und geändert werden

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

zu

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

0
2017-12-02 22:27





Ich habe einige Antworten gemischt (was bei mir leider nicht funktioniert hat) und mir etwas ausgedacht, das es wie einen Zauber wirken ließ! Es funktionierte sowieso unter Linux Mint 16 unter XFCE.

Erstellen Sie eine Sicherungskopie von xdg-open unter / usr / bin, öffnen Sie Ihre xdg-open mit sudo und machen Sie dann die Funktion open_xfce () genau so:

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

Es ist schmutzig und du musst es jedes xdg-open update bearbeiten, aber hey, es funktioniert!


-1
2018-04-08 22:18





Ich habe jahrelang versucht, dies zu beheben und zu Chrome wechseln, und nichts scheint zu funktionieren. Ich hatte schließlich einen Gedanken, ich bin mir nicht sicher, warum ich vorher nicht daran gedacht habe und es funktioniert großartig. Ich benutze Tixati in Mint aber es sollte universell funktionieren. Chrome zeigt Magnet Links zu usr / bin / transmission-gtk an, also habe ich das in transmission-gtk.old umbenannt und tixati in transmission-gtk umbenannt und die Option in chrome gewählt, um dies immer zu tun und launch app zu starten und jetzt kommen mag Links direkt hinein Tixati genau wie Firefox. Problem endlich gelöst!


-2
2018-05-29 17:44