Chromeにマグネットリンクの処理方法を伝える方法


67

現在、Chromeはエプロンを頭の上に投げてFirefoxを呼び出します。これにより、rtorrentでリンクが開かれます。Firefoxの手順をなくすには何をする必要がありますか?


どのバージョンのGoogle Chromeを実行していますか?google-chrome -version
アルヴァー

これは、Firefoxがデフォルトのブラウザーとして設定されているときに(Ubuntu 14.04.2 LTSで)私に起こりました。Chromiumがデフォルトのブラウザとして設定されている場合、Chromiumに新しい空のタブしか表示されません。-最後に、/usr/bin/xdg-openトレントマグネットリンクは新しいウィンドウを開きますが、送信はしない」に対する受け入れられた回答で提案されているようにパッチを当てることで問題を解決しました。
-zrajm

回答:


90

Chrome(またはChromium)プロトコルの処理は、Firefoxとは異なります。Firefoxは基本的にそれ自体すべてを追跡するため、環境設定のアプリケーション部分でプロトコル処理(マグネットリンクなど)を設定できます。ただし、Chromeはに依存していxdg-openます。

xdg-openマグネットリンクを適切に処理する前に行う必要があることがいくつかあります。

  1. マグネットリンクを処理するプログラムのデスクトップファイルの名前を見つけます。プログラムがTransmissionであるとします。(通常のように)デスクトップファイルが/usr/share/applications/あり、実際には、ディレクトリのリストを熟読することにより、送信のバージョンが実際にはgtkバージョンであることがわかりますtransmission-gtk.desktop。そのため、デスクトップファイルはと呼ばれます。

  2. デスクトップファイルが台無しになる可能性があります。したがって/usr/share/applications/transmission-gtk.desktop、次の行が含まれていることを確認できます。

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

    %UExec行に注意してください。絶対に必要です。MimeType行は上記のようになります。

  3. 次に、xdg-openTransmissionを使用してマグネットリンクを開くように指示するための重要な手順について説明します。 ターミナルで、次を入力します。

    xdg-mime default transmission-gtk.desktop x-scheme-handler/magnet 
    
  4. Gnome、KDE、Xfce、またはLXDEを使用している場合は手順は不要です)最後に、xdg-opengnome、kde、xfce、およびlxdeのいずれかの標準デスクトップ環境を実行していると想定します。そうでない場合xdg-open、マグネットリンクでは動作しません。アーチウィキに提案し、あなたは簡単に変更することができます/usr/bin/xdg-open。ファイルの最後に、次で始まる部分があります。

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

    変更genericの一つにgnomekdexfce、またはlxde。私が選択したのはxfce、実際に構成して使用するXfceセッションがあるからです。

    このアプローチの欠点は、xdg-open更新を取得した場合、これをやり直す必要があることです。Arch wikiでは、この欠陥を回避する別のアプローチを提案しています(ただし、独自の欠点があります)。

    警告:最後のステップでの選択は、見かけよりも重要です。ピッキングlxdeはうまくいきませんでした!ではxdg-open、ヘルパー関数は、open_lxdeに依存しているpcmanfm(LXDEファイルマネージャ)と何かが中にコードのいずれかが間違っているopen_lxdeか、多分それはだpcmanfmせい。


7
ありがとうございました!xdg-mime default deluge.desktop x-scheme-handler/magnet代わりに、デリュージに関連付けするだけでした。
ジャスティンフォース

1
私は(おそらく)関連する問題を抱えています。ソリューションを試しましたが、機能しません。
クインカルバー

2
専門家は言うまでもなくLinuxを成功させるには、Linuxが成功する方法が必要です。私は毎日好みでLinuxを使用していますが、デスクトップエクスペリエンスは十分ではありません。SteamOSに幸運を。
サムワトキンス

2
また、答えに感謝したい、それは素晴らしかった。私はGNOMEの代わりにMATEを使用してLinux Mintを使用しているため、ステップ4 mateを実行する必要がありましgnomeた。
マシンゴースト14年

1
@machineghostあなたのコメントに感謝します。私もMATEに参加しており、この回答とあなたのコメントが私のためにソートしました。
マックスウィリアムズ14

6

マグネットリンクを[送信]ウィンドウにドラッグするだけで、微調整なしで正常に動作します。Lubuntu12.10のストックビルドを使用しています。


これは別のアプローチであり、私はそれが好きです。ただし、マグネットリンクが自動的に開かれ、送信がまだ実行されていない場合、ユーザーの操作(クリック)が多く必要な場合、問題は解決しません。
ジョエルシェーグレン

2

LubuntuでqBitorrentを使用してChromeからマグネットを開くと非常にうまく機能しました

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


1

xfceを使用し、何も台無しにしたくない場合は、私のソリューションを使用できます。次のようにxdg-openを手動で編集して修正しました。

まず、MIMEが関連付けられていることを確認します(前に説明したように、xdg-mimeを使用)

次に、xdg-openをルートとしてバックアップします(該当する場合はsudo)

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

最後に、ルート/ usr / bin / xdg-openとして編集し、open_xfce()を見つけて、+などのマークが付いた行を追加します(例: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

マグネットリンクの例外を追加するだけなので、exo-openではなくgnome-openで開きます。

それが役に立てば幸い。


1

私が見つけた他の提案はどれも私にとってはうまくいきませんでしたが、これはDebian / Xfceの下でトリックをしました(http://fluxcode.net/archives/57から):

/ usr / bin / xdg-openで、次の行を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

alt.os.linux.slackwareの男が解決策を見つけました。

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


Ask Ubuntuへようこそ!これは理論的には質問に回答するかもしれませんが、回答の重要な部分をここに含め、参照用のリンクを提供することが望ましいでしょう
マイケルマーティンスマッカー

これは実際には必要以上に複雑です。私の答えをご覧ください。
チャンホーSuh

0

XFCEでgnome-openを使用するとうまくいきました。

これは、/ usr / bin / xdg-openを編集して変更することで強制できます。

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

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

0

これは、FF(大洪水)を使用したubuntu 18で機能します。

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

私はそれが質問に答えないことを知っていますが、私もChromeを使用しています。これはマグネットリンクをコピーして貼り付けるよりも良い回避策です。


-1

いくつかの答えを混ぜて(残念ながらうまくいきませんでした)、それを魅力のように機能させるものを思い付きました!とにかく、XFCEの下でLinux Mint 16で動作しました。

/ usr / binの下でxdg-openのバックアップを作成し、sudoでxdg-openを開いてから、open_xfce()関数を次のように作成します。

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

汚れているため、すべてのxdg-open更新プログラムを編集する必要がありますが、動作します!


-1

何年もこれを修正してChromeに切り替えようとしましたが、何も機能しないようです。私はついに、私が前に考えなかった理由がわからないという考えを持ちました、そしてそれはうまくいきます。私はMintでTixatiを使用していますが、普遍的に機能するはずです。Chromeはマグネットリンクをusr / bin / transmission-gtkにポイントするので、transmission-gtk.oldに名前を変更し、tixatiをtransmission-gtkに名前変更し、これを常に実行し、起動アプリをヒットするようにchromeのオプションを選択しました。 FirefoxのようなTixati。問題がようやく解決しました!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.