Como dizer ao Chrome o que fazer com um link magnético?

67

No momento, o Chrome joga seu avental sobre a cabeça e chama o Firefox, que abre o link com o rtorrent. O que preciso fazer para eliminar a etapa do Firefox?

BevA
fonte
qual versão do Google chrome você está executando? google-chrome -version
Alvar
Isso aconteceu comigo (no Ubuntu 14.04.2 LTS) quando o Firefox foi definido como meu navegador padrão. Se o Chromium foi definido como meu navegador padrão, então só recebi uma nova guia vazia no Chromium. - No final, resolvi o problema corrigindo o problema, /usr/bin/xdg-opencomo sugerido na resposta aceita "Os links de ímãs de torrents abrem uma nova janela, mas não a transmissão ".
Zrajm 31/05

Respostas:

90

O tratamento do protocolo Chrome (ou Chromium) funciona de maneira diferente da do Firefox. O Firefox basicamente mantém o controle de tudo isso, e é por isso que você pode configurar o manuseio de protocolo (como links magnéticos) na parte Aplicativos das Preferências . Chrome, no entanto, depende xdg-open.

Há algumas coisas que você precisa fazer antes xdg-openpara lidar com os links magnéticos corretamente.

  1. Encontre o nome do arquivo da área de trabalho do programa que você deseja manipular o link do ímã. Vamos supor que o programa seja Transmission. Ele (como de costume) tem seu arquivo da área de trabalho /usr/share/applications/e, de fato, examinando a lista do diretório, acho que minha versão da transmissão é realmente a versão gtk; portanto, seu arquivo da área de trabalho é chamado transmission-gtk.desktop.

  2. É possível que o arquivo da área de trabalho esteja bagunçado. Então você pode verificar se /usr/share/applications/transmission-gtk.desktopcontém as linhas:

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

    Observe o %Una linha Exec. É absolutamente necessário. A linha MimeType deve ter a aparência acima.

  3. Agora, o passo essencial é dizer xdg-openpara abrir links magnéticos usando a Transmissão. No terminal, digite:

    xdg-mime default transmission-gtk.desktop x-scheme-handler/magnet 
    
  4. ( Etapa desnecessária se você usar o Gnome, KDE, Xfce ou LXDE ) Por fim, xdg-openpressupõe que você esteja executando um dos ambientes de área de trabalho padrão: gnome, kde, xfce e lxde. Caso contrário, xdg-opennão funcionará em links magnéticos. Conforme sugerido no wiki do Arch , você pode simplesmente modificar /usr/bin/xdg-open. No final do arquivo, você encontrará uma parte que começa com:

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

    mudar genericpara um dos gnome, kde, xfce, ou lxde. Eu escolhi xfcedesde que realmente tenho uma sessão do Xfce que eu configurei e uso ocasionalmente.

    A desvantagem dessa abordagem é que, se houver xdg-openatualizações, você precisará refazer isso. O wiki do Arch sugere outra abordagem que evita essa falha (mas tem sua própria desvantagem).

    Aviso: a escolha na última etapa é mais importante do que parece. A colheita lxdenão funcionou para mim! Em xdg-open, a função helper open_lxdedepende pcmanfm(gerenciador de arquivos lxde) e algo está errado com o código open_lxdeou talvez seja pcmanfmculpa dele.

Chan-Ho Suh
fonte
7
Obrigado! Eu apenas fiz isso xdg-mime default deluge.desktop x-scheme-handler/magnetpara associá-lo ao Deluge.
Justin Force
11
Estou tendo um problema (provavelmente) relacionado . Eu tentei sua solução, mas ela não está funcionando.
Quinn Culver
2
Como o Linux pode ter sucesso, quando especialistas e muito menos noobs não conseguem fazê-lo funcionar. Uso o Linux de preferência todos os dias, mas a experiência com o desktop não é boa o suficiente. Boa sorte para o SteamOS.
Sam Watkins
2
Também queria agradecer a resposta, funcionou muito bem. Como estou no Linux Mint usando o MATE em vez do GNOME, tive mateque executar a etapa 4. Estranhamente, não funcionou (o que eu esperava desde que executei o MATE), mas gnomefuncionou.
precisa saber é o seguinte
11
@machineghost obrigado pelo seu comentário: também estou no MATE e esta resposta + seu comentário o classificaram para mim.
Max Williams
6

basta arrastar o link do ímã para a janela Transmission e ele funciona bem para mim sem nenhum ajuste .... Estou usando uma compilação de estoque do Lubuntu 12.10 nada chique ....

khorosho
fonte
Essa é outra abordagem e eu gosto. Mas isso não resolve o problema quando o link magnético é aberto automaticamente e exige muita interação do usuário (cliques) quando a transmissão ainda não está em execução.
Joel Sjögren
2

Funcionou muito bem ao abrir ímãs do Chrome com o qBitorrent no Lubuntu

xdg-mime default qBittorrent.desktop manipulador / esquema de x

Mariuz
fonte
1

se você usa o xfce e não quer mexer em nada, você pode usar minha solução. Eu corrigi editando manualmente o xdg-open da seguinte maneira:

Antes de tudo, verifique se você possui o mime associado (como explicado anteriormente, com o xdg-mime)

Em seguida, faça backup do xdg-open como root (sudo, se aplicável)

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

Por fim, edite como root / usr / bin / xdg-open, encontre open_xfce () e adicione as linhas marcadas com +, por exemplo, com 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

ele adiciona apenas a exceção para os links magnéticos, para que eles sejam abertos com gnome-open em vez de exo-open.

Espero que ajude.

Carlos Salvador Pérez Salgado
fonte
1

Nenhuma das outras sugestões que encontrei funcionou para mim, mas isso fez o truque no Debian / Xfce (em http://fluxcode.net/archives/57 ):

Em / usr / bin / xdg-open, adicione as seguintes linhas 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
fonte
0

Um cara no alt.os.linux.slackware encontrou a solução:

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

BevA
fonte
Bem-vindo ao Ask Ubuntu! Embora isso possa, teoricamente, responder à pergunta, seria preferível incluir aqui as partes essenciais da resposta e fornecer o link para referência.
Michael Martin-Smucker
Isso é realmente mais complicado do que o necessário. Veja minha resposta.
Chan-Ho Suh
0

Usar o gnome-open no XFCE funcionou para mim.

Isso pode ser forçado com editando / usr / bin / xdg-open e alterando

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

para

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

Isso funciona para mim no ubuntu 18 com FF (para dilúvio):

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

Eu sei que isso não responde à pergunta, mas eu também uso o Chrome e isso é uma solução melhor do que copiar e colar o link do ímã.

uvasal
fonte
-1

Eu misturei poucas respostas (que infelizmente não funcionaram para mim) e criei algo que a fez funcionar como um encanto! De qualquer forma, funcionou no Linux Mint 16 sob XFCE.

Faça o backup do xdg-open em / usr / bin, abra o xdg-open com o sudo e faça com que o open_xfce () funcione exatamente como este:

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

Está sujo e você precisa editá-lo a cada atualização do xdg-open, mas ei, funciona!


fonte
-1

Eu tentei por anos para corrigir isso e mudar para o Chrome e nada parece funcionar. Finalmente pensei: não sei por que não pensei antes e funciona muito bem. Estou usando o Tixati no Mint, mas deve funcionar universalmente. O Chrome aponta links magnéticos para usr / bin / transmission-gtk, então eu renomeei o nome para conversion-gtk.old e renomeei o tixati para o television-gtk e escolhi a opção no chrome para sempre fazer isso e clicar no aplicativo de lançamento e agora os links mag vão direto para Tixati como o Firefox. Problema finalmente resolvido!

user286587
fonte