¿Cómo decirle a Chrome qué hacer con un enlace magnético?

67

En este momento, Chrome lanza su delantal sobre su cabeza y llama a Firefox, que abre el enlace con rtorrent. ¿Qué debo hacer para eliminar el paso de Firefox?

BevA
fuente
¿Qué versión de Google Chrome está ejecutando? google-chrome -version
Alvar
Esto me sucedió (en Ubuntu 14.04.2 LTS) cuando Firefox se configuró como mi navegador predeterminado. Si Chromium se configuró como mi navegador predeterminado, solo obtuve una nueva pestaña vacía en Chromium. - Al final, resolví el problema parcheando mi /usr/bin/xdg-opencomo se sugiere en la respuesta aceptada a "Los enlaces del imán Torrent abren una nueva ventana pero no la transmisión ".
zrajm

Respuestas:

90

El manejo del protocolo Chrome (o Chromium) funciona de manera diferente que en Firefox. Firefox básicamente realiza un seguimiento de todo eso, por lo que puede configurar el manejo del protocolo (como enlaces magnéticos) en la parte de Aplicaciones de las Preferencias . Chrome, sin embargo, se basa en xdg-open.

Hay un par de cosas que debes hacer antes xdg-openpara manejar los enlaces magnéticos correctamente.

  1. Encuentre el nombre del archivo de escritorio del programa que desea manejar el enlace magnético. Supongamos que el programa es Transmisión. (Como de costumbre) tiene su archivo de escritorio /usr/share/applications/y, de hecho, al leer la lista del directorio, encuentro que mi versión de transmisión es en realidad la versión gtk, por lo que se llama a su archivo de escritorio transmission-gtk.desktop.

  2. Es posible que el archivo de escritorio esté en mal estado. Para que pueda verificar que /usr/share/applications/transmission-gtk.desktopcontiene las líneas:

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

    Tenga %Uen cuenta el en la línea Exec. Es absolutamente necesario La línea MimeType debería verse como la anterior.

  3. Ahora, el paso esencial para decirle xdg-openque abra los enlaces magnéticos usando la transmisión. En la terminal, escriba:

    xdg-mime default transmission-gtk.desktop x-scheme-handler/magnet 
    
  4. (El paso no es necesario si usa Gnome, KDE, Xfce o LXDE ) Por último, se xdg-opensupone que está ejecutando uno de los entornos de escritorio estándar: gnome, kde, xfce y lxde. Si no es así, xdg-openno funcionará en enlaces magnéticos. Como se sugiere en la wiki de Arch , simplemente puede modificar /usr/bin/xdg-open. Al final del archivo, encontrará una parte que comienza con:

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

    cambiar generica uno de gnome, kde, xfce, o lxde. Elegí xfceya que en realidad tengo una sesión de Xfce que he configurado y uso en ocasiones.

    La desventaja de este enfoque es que si xdg-openobtiene actualizaciones, tendrá que rehacer esto. La wiki de Arch sugiere otro enfoque que evita esta falla (pero tiene su propio inconveniente).

    Advertencia: la elección en el último paso es más importante de lo que parece. ¡Escoger lxdeno funcionó para mí! En xdg-open, la función auxiliar se open_lxdebasa en pcmanfm(administrador de archivos lxde) y algo está mal con el código open_lxdeo quizás pcmanfmes culpa suya.

Chan-Ho Suh
fuente
77
¡Gracias! Acabo de hacer una xdg-mime default deluge.desktop x-scheme-handler/magnetpara asociarlo con Deluge en su lugar.
Justin Force el
1
Estoy teniendo un problema (probablemente) relacionado . He probado tu solución pero no funciona.
Quinn Culver
2
¿Cómo puede tener éxito Linux, cuando los expertos y mucho menos los novatos no pueden hacerlo funcionar? Uso Linux con preferencia todos los días, pero la experiencia de escritorio no es lo suficientemente buena. Buena suerte a SteamOS.
Sam Watkins el
2
También quería decir gracias por la respuesta, funcionó muy bien. Como estoy en Linux Mint usando MATE en lugar de GNOME, tuve que hacer el paso 4. Extrañamente, mateno funcionó (lo que hubiera esperado desde que ejecuté MATE), pero lo gnomehice.
machineghost
1
@machineghost gracias por tu comentario: también estoy en MATE y esta respuesta + tu comentario lo resolvió por mí.
Max Williams
6

simplemente arrastre el enlace del imán a la ventana de Transmisión y funciona bien para mí sin ningún ajuste ... Estoy usando una compilación de archivo de Lubuntu 12.10, nada lujoso ...

khorosho
fuente
Este es otro enfoque y me gusta. Pero no resuelve el problema cuando el enlace magnético se abre automáticamente y requiere mucha interacción del usuario (clics) cuando la transmisión aún no se está ejecutando.
Joel Sjögren
2

Funcionó muy bien para abrir imanes de Chrome con qBitorrent en Lubuntu

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

Mariuz
fuente
1

Si usa xfce y no quiere ensuciar nada, puede usar mi solución. Lo arreglé editando manualmente xdg-open de la siguiente manera:

En primer lugar, asegúrese de tener el mimo asociado (como se explicó anteriormente, con xdg-mime)

Luego haga una copia de seguridad de xdg-open como root (sudo si corresponde)

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

Finalmente, edite como root / usr / bin / xdg-open, encuentre open_xfce () y agregue las líneas marcadas con +, por ejemplo, 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

solo agrega la excepción para los enlaces de imán, por lo que se abrirán con gnome-open en lugar de exo-open.

Espero eso ayude.

Carlos Salvador Pérez Salgado
fuente
1

Ninguna de las otras sugerencias que encontré funcionó para mí, pero esto funcionó en Debian / Xfce (de http://fluxcode.net/archives/57 ):

En / usr / bin / xdg-open agregue las siguientes líneas 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"
Tom
fuente
0

Usar gnome-open en XFCE funcionó para mí.

Esto se puede forzar con la edición / usr / bin / xdg-open y cambio

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

a

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

Esto funciona para mí en ubuntu 18 con FF (para diluvio):

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

Sé que eso no responde la pregunta, pero también uso Chrome y esta es una mejor solución que copiar y pegar el enlace magnético.

uvasal
fuente
-1

¡Mezclé pocas respuestas (que desafortunadamente no funcionaron para mí) y se me ocurrió algo que lo hizo funcionar como un encanto! Funcionó en Linux Mint 16 bajo XFCE, de todos modos.

Haga una copia de seguridad de xdg-open en / usr / bin, abra su xdg-open con sudo y luego haga que open_xfce () funcione exactamente así:

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

Está sucio y necesita editarlo cada actualización xdg-open, pero bueno, ¡funciona!


fuente
-1

He intentado durante años solucionar esto y cambiar a Chrome y nada parece funcionar. Finalmente tuve un pensamiento que no estoy seguro de por qué no pensé antes y funciona muy bien. Estoy usando Tixati en Mint pero debería funcionar universalmente. Chrome apunta los enlaces de imán a usr / bin / transmission-gtk, así que le cambié el nombre a transmisión-gtk.old y cambié el nombre de tixati a transmisión-gtk y elegí la opción en cromo para hacer esto siempre y presionar la aplicación de inicio y ahora los enlaces magnéticos van directamente a Tixati al igual que Firefox. Problema finalmente resuelto!

usuario286587
fuente