web-dev-qa-db-fra.com

Comment savoir Chrome que faire avec un lien magnétique?

À l'heure actuelle, Chrome jette son tablier par-dessus sa tête et appelle Firefox, qui ouvre le lien avec rtorrent. Que dois-je faire pour éliminer l’étape Firefox?

67
BevA

La gestion du protocole Chrome (ou Chromium) fonctionne différemment de celle de Firefox. En gros, Firefox garde la trace de tout cela, c’est pourquoi vous pouvez configurer la gestion des protocoles (comme les liens magnétiques) dans la partie Applications des Préférences . Chrome, cependant, repose sur xdg-open.

Il y a plusieurs choses que vous devez faire avant que xdg-open gère correctement les liens magnétiques.

  1. Recherchez le nom du fichier de bureau du programme avec lequel vous souhaitez gérer le lien magnétique. Supposons que le programme est Transmission. Comme d'habitude, il a son fichier desktop dans /usr/share/applications/ et en fait, en parcourant la liste du répertoire, je constate que ma version de transmission est en fait la version gtk. Son fichier desktop s'appelle donc transmission-gtk.desktop.

  2. Il est possible que le fichier desktop soit foiré. Vous pouvez donc vérifier que /usr/share/applications/transmission-gtk.desktop contient les lignes:

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

    Notez le %U dans la ligne Exec. C'est absolument nécessaire. La ligne MimeType devrait ressembler à celle ci-dessus.

  3. Passons maintenant à l'étape essentielle qui consiste à dire à xdg-open d'ouvrir les liaisons magnétiques à l'aide de la fonction Transmission. Dans le terminal, tapez:

    xdg-mime default transmission-gtk.desktop x-scheme-handler/magnet 
    
  4. ( Étape non nécessaire si vous utilisez Gnome, KDE, Xfce ou LXDE ) Enfin, xdg-open suppose que vous utilisez l'un des environnements de bureau standard: gnome, kde, xfce et lxde. Si vous ne l'êtes pas, xdg-open ne fonctionnera pas sur les liens magnétiques. Comme suggéré sur le wiki Arch , vous pouvez simplement modifier /usr/bin/xdg-open. À la fin du fichier, vous trouverez une partie commençant par:

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

    remplacez genericpar gnomename__, kdename__, xfceou lxdename__. J'ai choisi xfcecar j'ai en fait une session Xfce que j'ai configurée et utilisée à l'occasion.

    L'inconvénient de cette approche est que si xdg-open obtient des mises à jour, vous devrez recommencer. Arch wiki suggère une autre approche qui évite cette faille (mais a ses propres inconvénients).

    Attention: Le choix lors de la dernière étape est plus important qu'il n'y parait. Choisir lxden'a pas fonctionné pour moi! Dans xdg-open, la fonction d'assistance open_lxde s'appuie sur pcmanfm(gestionnaire de fichier lxde) et quelque chose ne va pas avec le code dans open_lxde ou peut-être que c'est pcmanfmname__.

90
Chan-Ho Suh

il suffit de faire glisser le lien de l’aimant dans la fenêtre de transmission et cela fonctionne pour moi sans aucun ajustement .... J'utilise une version de base de Lubuntu 12.10 rien d’extraordinaire ...

6
khorosho

Très agréable d'ouvrir les aimants de Chrome avec qBittorrent dans Ubuntu

2
Mariuz

Aucune des autres suggestions que j'ai trouvées n'a fonctionné pour moi, mais cela a été efficace sous Debian/Xfce (from http: // fluxcode. net/archives/57 ):

Dans/usr/bin/xdg-open, ajoutez les lignes suivantes à 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"
1
Tom

si vous utilisez xfce et que vous ne voulez rien déranger, vous pouvez utiliser ma solution. J'ai corrigé en modifiant manuellement xdg-open comme suit:

Tout d’abord, assurez-vous d’avoir le mime associé (comme expliqué précédemment, avec xdg-mime)

Puis sauvegardez xdg-open en tant que root (Sudo si cela s'applique)

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

Enfin, éditez en tant que root/usr/bin/xdg-open, recherchez open_xfce () et ajoutez les lignes marquées avec +, par exemple, avec 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

il ajoute seulement l'exception pour les liens d'aimants, ils seront donc ouverts avec gnome-open au lieu d'exo-open.

J'espère que ça aide.

Cela fonctionne pour moi dans Ubuntu 18 avec FF (pour le déluge):

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

Je sais que cela ne répond pas à la question, mais j’utilise aussi Chrome et c’est un meilleur moyen de contourner le problème que de copier et coller le lien magnétique.

0
uvasal

Un gars de alt.os.linux.slackware a trouvé la solution:

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

0
BevA

Utiliser gnome-open sur XFCE a fonctionné pour moi.

Ceci peut être forcé avec l'édition/usr/bin/xdg-open et change

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

à

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