Come dire a Chrome cosa fare con un collegamento magnetico?


67

In questo momento Chrome si getta il grembiule sopra la testa e chiama Firefox, che apre il collegamento con rtorrent. Cosa devo fare per eliminare il passaggio di Firefox?


quale versione di Google Chrome stai utilizzando? google-chrome -version
Alvar,

Questo è successo a me (su Ubuntu 14.04.2 LTS) quando Firefox è stato impostato come browser predefinito. Se Chromium è stato impostato come browser predefinito, ho solo una nuova scheda vuota in Chromium. - Alla fine ho risolto il problema rattoppando il mio /usr/bin/xdg-opencome suggerito nella risposta accettata "I collegamenti del magnete Torrent aprono una nuova finestra ma non la trasmissione ".
zrajm,

Risposte:


90

La gestione del protocollo Chrome (o Chromium) funziona in modo diverso rispetto a Firefox. Firefox fondamentalmente tiene traccia di tutto ciò stesso, motivo per cui è possibile configurare la gestione del protocollo (come i collegamenti magnetici) nella parte Applicazioni delle Preferenze . Chrome, tuttavia, si affida a xdg-open.

Ci sono un paio di cose che devi fare prima di xdg-opengestire correttamente i collegamenti magnetici.

  1. Trova il nome del file desktop del programma che desideri gestire il collegamento magnetico. Supponiamo che il programma sia Trasmissione. (Come al solito) ha il suo file desktop /usr/share/applications/e infatti, esaminando l'elenco della directory, trovo che la mia versione della trasmissione sia in realtà la versione gtk, quindi viene chiamato il suo file desktop transmission-gtk.desktop.

  2. È possibile che il file desktop sia incasinato. Quindi puoi controllare che /usr/share/applications/transmission-gtk.desktopcontenga le righe:

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

    Nota %Unella riga Exec. È assolutamente necessario. La linea MimeType dovrebbe apparire come sopra.

  3. Ora per il passaggio essenziale per dire xdg-opendi aprire i collegamenti magnetici utilizzando la trasmissione. Nel terminale, digitare:

    xdg-mime default transmission-gtk.desktop x-scheme-handler/magnet 
    
  4. ( Passaggio non necessario se si utilizza Gnome, KDE, Xfce o LXDE ) Infine, si xdg-openpresuppone che si stia eseguendo uno degli ambienti desktop standard: gnome, kde, xfce e lxde. In caso contrario, xdg-opennon funzionerà sui collegamenti magnetici. Come suggerito nel wiki di Arch , puoi semplicemente modificarlo /usr/bin/xdg-open. Alla fine del file, troverai una parte che inizia con:

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

    cambiare generica uno dei gnome, kde, xfce, o lxde. Ho scelto xfcedal momento che in realtà ho una sessione Xfce che ho configurato e utilizzare a volte.

    L'aspetto negativo di questo approccio è che se xdg-openricevi aggiornamenti, dovrai rifarlo. La wiki di Arch suggerisce un altro approccio che evita questo difetto (ma ha il suo rovescio della medaglia).

    Avvertenza: la scelta dell'ultimo passaggio è più importante di quanto possa sembrare. La raccolta lxdenon ha funzionato per me! In xdg-open, la funzione helper open_lxdesi basa su pcmanfm(lxde file manager) e qualcosa non va nel codice open_lxdeo forse è pcmanfmcolpa sua.


7
Grazie! xdg-mime default deluge.desktop x-scheme-handler/magnetInvece ho appena fatto un associazione con Deluge.
Justin Force

1
Sto riscontrando un problema (probabilmente) correlato . Ho provato la tua soluzione ma non funziona.
Quinn Culver,

2
Come può Linux avere successo, quando gli esperti, per non parlare di nessuno, non possono farlo funzionare. Uso Linux di preferenza ogni giorno, ma l'esperienza desktop non è abbastanza buona. Buona fortuna a SteamOS.
Sam Watkins,

2
Volevo anche dire grazie per la risposta, ha funzionato benissimo. Dato che sono su Linux Mint usando MATE invece di GNOME, ho dovuto fare il passo 4. Stranamente, matenon ha funzionato (cosa che mi sarei aspettato da quando ho eseguito MATE), ma gnomeha funzionato.
machineghost,

1
@machineghost grazie per il tuo commento: sono anch'io su MATE e questa risposta + il tuo commento l'hanno ordinato per me.
Max Williams,

6

basta trascinare il collegamento del magnete nella finestra di Trasmissione e funziona bene per me senza alcuna modifica .... Sto usando una build stock di Lubuntu 12.10 niente di speciale ....


Questo è un altro approccio e mi piace. Ma non risolve il problema quando il collegamento magnetico si apre automaticamente e richiede molta interazione dell'utente (clic) quando la trasmissione non è già in esecuzione.
Joel Sjögren,

2

Ha funzionato molto bene per aprire i magneti da Chrome con qBitorrent in Lubuntu

xdg-mime default qBittorrent.desktop gestore-schema x / magnete


1

se usi xfce e non vuoi fare casino, potresti usare la mia soluzione. Ho risolto modificando manualmente xdg-open come segue:

Prima di tutto assicurati di avere il mime associato (come spiegato prima, con xdg-mime)

Quindi eseguire il backup di xdg-open come root (sudo se applicabile)

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

Infine, modifica come root / usr / bin / xdg-open, trova open_xfce () e aggiungi le righe contrassegnate con +, ad es. Con 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

aggiunge solo l'eccezione per i collegamenti magnetici, quindi verranno aperti con gnome-open anziché exo-open.

Spero che sia d'aiuto.


1

Nessuno degli altri suggerimenti che ho trovato ha funzionato per me, ma questo ha funzionato con Debian / Xfce (da http://fluxcode.net/archives/57 ):

In / usr / bin / xdg-open aggiungi le seguenti righe a 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

Usare gnome-open su XFCE ha funzionato per me.

Questo può essere forzato modificando / usr / bin / xdg-open e cambiando

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

per

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

0

Questo funziona per me in Ubuntu 18 con FF (per diluvio):

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

So che non risponde alla domanda ma uso anche Chrome e questo è un modo migliore per aggirare che copiare e incollare il collegamento magnetico.


-1

Ho mescolato poche risposte (che purtroppo non ha funzionato per me) e ho trovato qualcosa che lo ha fatto funzionare come un fascino! Ha funzionato su Linux Mint 16 sotto XFCE, comunque.

Effettua il backup di xdg-open in / usr / bin, apri il tuo xdg-open con sudo e quindi fai in modo che open_xfce () funzioni esattamente come questo:

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

È sporco e devi modificarlo ogni aggiornamento di xdg-open, ma ehi, funziona!


-1

Ho provato per anni a risolvere questo problema e passare a Chrome e nulla sembra funzionare. Alla fine ho pensato che non sono sicuro del perché non ci avevo pensato prima e funziona benissimo. Sto usando Tixati in Mint ma dovrebbe funzionare universalmente. Chrome punta i collegamenti magnetici a usr / bin / transmission-gtk, quindi l'ho ribattezzato in transmission-gtk.old e ho rinominato tixati in transmission-gtk e ho scelto l'opzione in chrome per fare sempre questo e premere l'app di avvio e ora i collegamenti mag vanno direttamente in Tixati proprio come Firefox. Problema finalmente risolto!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.