Bagaimana cara memberi tahu Chrome apa yang harus dilakukan dengan tautan magnet?


67

Saat ini Chrome melempar celemeknya di atas kepalanya dan memanggil Firefox, yang membuka tautan dengan rtorrent. Apa yang harus saya lakukan untuk menghilangkan langkah Firefox?


versi Google chrome apa yang Anda jalankan? google-chrome -version
Alvar

Ini terjadi pada saya (pada Ubuntu 14.04.2 LTS) ketika Firefox ditetapkan sebagai browser default saya. Jika Chromium ditetapkan sebagai browser default saya, maka saya hanya mendapatkan tab kosong baru di Chromium. - Pada akhirnya saya memecahkan masalah dengan menambal saya /usr/bin/xdg-openseperti yang disarankan dalam jawaban yang diterima untuk " tautan magnet Torrent membuka jendela baru tetapi tidak transmisi ".
zrajm

Jawaban:


90

Penanganan protokol Chrome (atau Chromium) berfungsi berbeda dari pada di Firefox. Firefox pada dasarnya melacak semua itu sendiri, yang mengapa Anda dapat mengkonfigurasi menangani protokol (seperti link magnet) di Aplikasi bagian dari Preferences . Chrome, bagaimanapun, bergantung pada xdg-open.

Ada beberapa hal yang perlu Anda lakukan sebelum xdg-openmenangani tautan magnet dengan benar.

  1. Temukan nama file desktop dari program yang Anda inginkan untuk menangani tautan magnet. Misalkan programnya adalah Transmisi. Ini (seperti biasanya) memiliki file desktop /usr/share/applications/dan pada kenyataannya, dengan membaca daftar direktori, saya menemukan bahwa versi transmisi saya sebenarnya adalah versi gtk, jadi file desktopnya disebut transmission-gtk.desktop.

  2. Mungkin file desktop berantakan. Jadi, Anda dapat memeriksa yang /usr/share/applications/transmission-gtk.desktopberisi baris:

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

    Perhatikan %Udi baris Exec. Ini mutlak diperlukan. Baris MimeType akan terlihat seperti di atas.

  3. Sekarang untuk langkah penting untuk memberitahu xdg-openuntuk membuka tautan magnet menggunakan Transmisi. Di terminal, ketik:

    xdg-mime default transmission-gtk.desktop x-scheme-handler/magnet 
    
  4. ( Langkah tidak perlu jika Anda menggunakan Gnome, KDE, Xfce, atau LXDE ) Terakhir, xdg-openanggap Anda menjalankan salah satu lingkungan desktop standar: gnome, kde, xfce dan lxde. Jika tidak, xdg-opentidak akan berfungsi pada tautan magnet. Seperti yang disarankan pada Arch wiki , Anda dapat memodifikasi /usr/bin/xdg-open. Di akhir file, Anda akan menemukan bagian yang dimulai dengan:

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

    mengubah genericke salah satu gnome, kde, xfce, atau lxde. Saya memilih xfcekarena saya benar-benar memiliki sesi Xfce bahwa saya telah dikonfigurasi dan digunakan pada kesempatan.

    Kelemahan dari pendekatan ini adalah jika xdg-openmendapat pembaruan, Anda harus mengulang ini. Arch wiki menyarankan pendekatan lain yang menghindari cacat ini (tetapi memiliki kelemahannya sendiri).

    Peringatan: Pilihan pada langkah terakhir lebih penting daripada kelihatannya. Memilih lxdetidak berhasil untuk saya! Dalam xdg-open, fungsi helper open_lxdebergantung pada pcmanfm(lxde file manager) dan ada sesuatu yang salah dengan kode open_lxdeatau mungkin itu pcmanfmsalah.


7
Terima kasih! Saya hanya melakukan xdg-mime default deluge.desktop x-scheme-handler/magnetmengasosiasikannya dengan Deluge sebagai gantinya.
Justin Force

1
Saya mengalami masalah (mungkin) terkait . Saya sudah mencoba solusi Anda tetapi tidak berhasil.
Quinn Culver

2
Bagaimana Linux bisa berhasil, ketika para ahli apalagi noobs tidak dapat membuatnya bekerja. Saya menggunakan Linux berdasarkan preferensi setiap hari, tetapi pengalaman desktop tidak cukup baik. Semoga sukses untuk SteamOS.
Sam Watkins

2
Juga ingin mengucapkan terima kasih atas jawabannya, itu bekerja dengan baik. Karena saya menggunakan Linux Mint menggunakan MATE dan bukannya GNOME, saya harus melakukan langkah 4. Anehnya, matetidak berfungsi (yang saya harapkan sejak saya menjalankan MATE), tetapi gnometernyata berhasil.
machineghost

1
@machineghost terima kasih atas komentar Anda: Saya juga ada di MATE dan jawaban ini + komentar Anda mengurutkannya untuk saya.
Max Williams

6

cukup tarik tautan magnet ke jendela Transmisi dan itu berfungsi dengan baik bagi saya tanpa tweak .... Saya menggunakan stock build dari Lubuntu 12.10 tidak ada yang mewah ....


Ini adalah pendekatan lain dan saya menyukainya. Tapi itu tidak menyelesaikan masalah ketika tautan magnet dibuka secara otomatis dan memerlukan banyak interaksi pengguna (klik) ketika transmisi belum berjalan.
Joel Sjögren

2

Bekerja sangat bagus untuk membuka magnet dari Chrome dengan qBitorrent di Lubuntu

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


1

jika Anda menggunakan xfce dan tidak ingin mengacaukan apa pun, Anda bisa menggunakan solusi saya. Saya memperbaikinya dengan secara manual mengedit xdg-open sebagai berikut:

Pertama-tama pastikan Anda memiliki mime yang terkait (seperti yang dijelaskan sebelumnya, dengan xdg-mime)

Kemudian backup xdg-open sebagai root (sudo jika itu berlaku)

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

Terakhir, edit sebagai root / usr / bin / xdg-open, cari open_xfce () dan tambahkan baris yang ditandai dengan +, misalnya, dengan 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

itu hanya menambahkan pengecualian untuk tautan magnet, sehingga mereka akan dibuka dengan gnome-open alih-alih exo-open.

Semoga ini bisa membantu.


1

Tidak ada saran lain yang saya temukan bekerja untuk saya, tetapi ini berhasil di bawah Debian / Xfce (dari http://fluxcode.net/archives/57 ):

Di / usr / bin / xdg-open tambahkan baris berikut ke 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

Menggunakan gnome-open di XFCE berhasil untuk saya.

Ini bisa dipaksakan dengan mengedit / usr / bin / xdg-open dan ubah

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

untuk

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

0

Ini berfungsi untuk saya di ubuntu 18 dengan FF (untuk banjir):

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

Saya tahu itu tidak menjawab pertanyaan tetapi saya juga menggunakan Chrome dan ini adalah cara yang lebih baik daripada menyalin dan menempelkan tautan magnet.


-1

Saya mencampur beberapa jawaban (yang sayangnya tidak berhasil untuk saya) dan muncul dengan sesuatu yang membuatnya bekerja seperti pesona! Itu bekerja di Linux Mint 16 di bawah XFCE, lagian.

Buat cadangan xdg-open di bawah / usr / bin, buka xdg-open Anda dengan sudo dan kemudian buat fungsi open_xfce () persis seperti ini:

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

Ini kotor dan Anda perlu mengeditnya setiap pembaruan xdg-open, tapi hei, itu berfungsi!


-1

Saya sudah mencoba selama bertahun-tahun untuk memperbaikinya dan beralih ke Chrome dan sepertinya tidak ada yang berhasil. Saya akhirnya berpikir saya tidak yakin mengapa saya tidak memikirkan sebelumnya dan itu bekerja dengan baik. Saya menggunakan Tixati di Mint tetapi harus bekerja secara universal. Chrome menunjukkan tautan magnet ke usr / bin / transmission-gtk jadi saya menamainya dengan transmission-gtk.old dan mengubah nama tixati menjadi transmission-gtk dan memilih opsi di chrome untuk selalu melakukan ini dan tekan launch app dan sekarang tautan mag langsung masuk ke Tixati sama seperti Firefox. Masalah akhirnya terpecahkan!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.