Làm cách nào để biết Chrome phải làm gì với liên kết nam châm?


67

Ngay bây giờ, Chrome ném tạp dề lên đầu và gọi Firefox, mở liên kết với rtorrent. Tôi cần làm gì để loại bỏ bước Firefox?


Phiên bản Google Chrome nào bạn đang chạy? google-chrome -version
Alvar

Điều này đã xảy ra với tôi (trên Ubuntu 14.04.2 LTS) khi Firefox được đặt làm trình duyệt mặc định của tôi. Nếu Chromium được đặt làm trình duyệt mặc định của tôi, thì tôi chỉ có một tab trống mới trong Chromium. - Cuối cùng, tôi đã giải quyết vấn đề bằng cách vá lỗi của mình /usr/bin/xdg-opentheo đề xuất trong câu trả lời được chấp nhận cho " Liên kết nam châm torrent mở cửa sổ mới nhưng không truyền ".
zrajm

Câu trả lời:


90

Xử lý giao thức Chrome (hoặc Chromium) hoạt động khác với trong Firefox. Về cơ bản, Firefox theo dõi tất cả những thứ đó, đó là lý do tại sao bạn có thể định cấu hình xử lý giao thức (như liên kết nam châm) trong phần Ứng dụng của Tùy chọn . Chrome, tuy nhiên, dựa vào xdg-open.

Có một vài điều mà bạn cần làm trước đây xdg-opensẽ xử lý các liên kết nam châm đúng cách.

  1. Tìm tên của tệp máy tính để bàn của chương trình bạn muốn xử lý liên kết nam châm. Giả sử chương trình là Truyền tải. Nó (như thường lệ) có tệp máy tính để bàn /usr/share/applications/và trên thực tế, bằng cách xem qua danh sách thư mục, tôi thấy rằng phiên bản truyền của tôi thực sự là phiên bản gtk, vì vậy tệp máy tính để bàn của nó được gọi transmission-gtk.desktop.

  2. Có thể tập tin máy tính để bàn bị rối. Vì vậy, bạn có thể kiểm tra /usr/share/applications/transmission-gtk.desktopcó chứa các dòng:

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

    Lưu ý %Utrong dòng Exec. Nó hoàn toàn cần thiết. Dòng MimeType sẽ trông như trên.

  3. Bây giờ cho bước thiết yếu để nói xdg-openđể mở các liên kết nam châm bằng cách sử dụng Truyền. Trong thiết bị đầu cuối, gõ:

    xdg-mime default transmission-gtk.desktop x-scheme-handler/magnet 
    
  4. ( Bước không cần thiết nếu bạn sử dụng Gnome, KDE, Xfce hoặc LXDE ) Cuối cùng, xdg-opengiả sử bạn đang chạy một trong các môi trường máy tính để bàn tiêu chuẩn: gnome, kde, xfce và lxde. Nếu bạn không, xdg-opensẽ không hoạt động trên các liên kết nam châm. Theo đề xuất trên wiki Arch , bạn chỉ cần sửa đổi /usr/bin/xdg-open. Ở cuối tệp, bạn sẽ tìm thấy một phần bắt đầu bằng:

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

    thay đổi genericđến một trong những gnome, kde, xfce, hoặc lxde. Tôi đã chọn xfcevì tôi thực sự có một phiên Xfce mà tôi đã cấu hình và sử dụng đôi khi.

    Nhược điểm của phương pháp này là nếu xdg-openđược cập nhật, bạn sẽ phải làm lại điều này. Arch wiki gợi ý một cách tiếp cận khác để tránh lỗ hổng này (nhưng có nhược điểm riêng).

    Cảnh báo: Sự lựa chọn ở bước cuối cùng quan trọng hơn vẻ ngoài của nó. Chọn lxdekhông làm việc cho tôi! Trong xdg-open, chức năng của trình trợ giúp open_lxdephụ thuộc vào pcmanfm(trình quản lý tệp lxde) và có lỗi xảy ra với mã trong open_lxdehoặc có lẽ đó pcmanfmlà lỗi.


7
Cảm ơn bạn! Tôi chỉ làm một xdg-mime default deluge.desktop x-scheme-handler/magnetliên kết với Deluge thay thế.
Justin Force

1
Tôi đang có một vấn đề (có lẽ) liên quan . Tôi đã thử giải pháp của bạn nhưng nó không hoạt động.
Quinn Culver

2
Làm thế nào Linux có thể thành công, khi các chuyên gia nói một mình không thể làm cho nó hoạt động. Tôi sử dụng Linux theo sở thích mỗi ngày, nhưng trải nghiệm máy tính để bàn không đủ tốt. Chúc may mắn cho SteamOS.
Sam Watkins

2
Cũng muốn nói cảm ơn cho câu trả lời, nó đã làm việc tuyệt vời. Vì tôi sử dụng Linux Mint bằng MATE thay vì Gnome, tôi đã phải thực hiện bước 4. Thật kỳ lạ, matekhông hoạt động (điều mà tôi mong đợi từ khi tôi chạy MATE), nhưng gnomeđã làm.
máy vào

1
@machineghost cảm ơn vì nhận xét của bạn: tôi cũng đang tham gia MATE và câu trả lời này + bình luận của bạn đã sắp xếp nó cho tôi.
Max Williams

6

chỉ cần kéo liên kết nam châm vào cửa sổ Truyền tải và nó hoạt động tốt đối với tôi mà không cần chỉnh sửa .... Tôi đang sử dụng bản dựng của LubFi 12.10 không có gì lạ mắt ....


Đây là một cách tiếp cận khác và tôi thích nó. Nhưng nó không giải quyết được vấn đề khi liên kết nam châm được mở tự động và nó đòi hỏi nhiều tương tác của người dùng (nhấp chuột) khi truyền không chạy.
Joel Sjögren

2

Hoạt động rất tốt để mở nam châm từ Chrome với qBitorrent trong Lubfox

xdg-mime mặc định qBittorrent.desktop x -eme-handler / Magnet


1

nếu bạn sử dụng xfce và không muốn làm hỏng bất cứ điều gì, bạn có thể sử dụng giải pháp của tôi. Tôi đã sửa bằng cách chỉnh sửa thủ công xdg-open như sau:

Trước hết, hãy chắc chắn rằng bạn có mime liên quan (như đã giải thích trước đó, với xdg-mime)

Sau đó, sao lưu xdg-open dưới dạng root (sudo nếu áp dụng)

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

Cuối cùng, chỉnh sửa dưới dạng root / usr / bin / xdg-open, tìm open_xfce () và thêm các dòng được đánh dấu bằng +, ví dụ: với 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

nó chỉ thêm ngoại lệ cho các liên kết nam châm, vì vậy chúng sẽ được mở bằng gnome-open thay vì exo-open.

Hy vọng nó giúp.


1

Không có gợi ý nào khác mà tôi thấy có hiệu quả với tôi, nhưng điều này đã thực hiện thủ thuật trong Debian / Xfce (từ http://fluxcode.net/archives/57 ):

Trong / usr / bin / xdg-open thêm các dòng sau vào 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

Một anh chàng trong alt.os.linux.slackware đã tìm ra giải pháp:

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


Chào mừng bạn đến hỏi Ubuntu! Mặc dù điều này về mặt lý thuyết có thể trả lời câu hỏi, tốt hơn là nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo.
Michael Martin-Smucker

Điều này thực sự phức tạp hơn mức cần thiết. Xem câu trả lời của tôi.
Chan-Ho Suh

0

Sử dụng gnome-open trên XFCE đã giúp ích cho tôi.

Điều này có thể được ép buộc với chỉnh sửa / usr / bin / xdg-open và thay đổi

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

đến

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

0

Điều này hoạt động với tôi trong Ubuntu 18 với FF (cho deluge):

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

Tôi biết điều đó không trả lời câu hỏi nhưng tôi cũng sử dụng Chrome và đây là công việc tốt hơn so với việc sao chép và dán liên kết nam châm.


-1

Tôi đã trộn lẫn một vài câu trả lời (thật không may là không có tác dụng với tôi) và đã đưa ra một cái gì đó khiến nó hoạt động như một cơ duyên! Nó hoạt động trên Linux Mint 16 theo XFCE, dù sao đi nữa.

Tạo bản sao lưu của xdg-open bên dưới / usr / bin, mở xdg-open của bạn bằng sudo và sau đó tạo hàm open_xfce () chính xác như thế này:

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

Nó bẩn và bạn cần chỉnh sửa nó mỗi lần cập nhật mở xdg, nhưng này, nó hoạt động!


-1

Tôi đã cố gắng trong nhiều năm để khắc phục điều này và chuyển sang Chrome và dường như không có gì hoạt động. Cuối cùng tôi đã có một suy nghĩ Tôi không chắc tại sao trước đây tôi không nghĩ đến và nó hoạt động rất tốt. Tôi đang sử dụng Tixati trong Mint nhưng nó sẽ hoạt động phổ biến. Chrome trỏ nam châm liên kết đến usr / bin / Transmission-gtk vì vậy tôi đã đổi tên nó thành truyền-gtk.old và đổi tên tixati thành truyền-gtk và chọn tùy chọn trong chrome để luôn thực hiện điều này và nhấn ứng dụng khởi chạy và bây giờ liên kết mag đi thẳng vào Tixati giống như Firefox. Vấn đề cuối cùng đã được giải quyết!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.