마그넷 링크로 Chrome에 지시하는 방법은 무엇입니까? Chrome은 앞치마를

현재 Chrome은 앞치마를 머리 위로 던지고 Firefox를 호출하여 rtorrent와의 링크를 엽니 다. Firefox 단계를 제거하려면 어떻게해야합니까?



답변

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;
    

    %U실행 줄에 유의하십시오 . 절대적으로 필요합니다. MimeType 줄은 위와 같아야합니다.

  3. 이제 xdg-openTransmission을 사용하여 자석 링크를 열어야 하는 필수 단계 입니다. 터미널에 다음을 입력하십시오.

    xdg-mime default transmission-gtk.desktop x-scheme-handler/magnet
    
  4. ( Gnome, KDE, Xfce 또는 LXDE를 사용하는 경우 단계는 필요하지 않습니다. ) 마지막으로 xdg-open표준 데스크탑 환경 중 하나 인 gnome, kde, xfce 및 lxde를 실행한다고 가정합니다. 그렇지 않으면 xdg-open자석 링크에서 작동하지 않습니다. 아치 위키 에서 제안한 대로 간단하게 수정할 수 있습니다 /usr/bin/xdg-open. 파일의 끝에 다음으로 시작하는 부분이 있습니다.

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

    변경 generic중 하나로 gnome, kde, xfce, 또는 lxde. xfce실제로 구성하고 가끔 사용하는 Xfce 세션이 있기 때문에 선택했습니다 .

    이 방법의 단점 xdg-open은 업데이트를 받으면 다시 실행해야한다는 것입니다. 아치 위키는이 결함을 피하는 또 다른 접근 방법을 제안합니다 (그러나 자체 단점이 있음).

    경고 : 마지막 단계에서 선택하는 것이 생각보다 중요합니다. 피킹이 효과 lxde가 없었습니다! 에서 xdg-open, 도우미 기능 open_lxde에 의존 pcmanfm(LXDE 파일 관리자) 뭔가는 코드 중 하나에 문제가 있습니다 open_lxde또는 아마도 그건 pcmanfm‘의 고장.


답변

마그넷 링크를 Transmission 창으로 드래그하면 아무런 조정없이 잘 작동합니다 …. Lubuntu 12.10의 스톡 빌드를 사용하고 있습니다.


답변

Lubuntu의 qBitorrent를 사용하여 Chrome에서 자석을 열 때 매우 훌륭했습니다.

xdg-mime 기본 qBittorrent.desktop x-scheme-handler / magnet


답변

xfce를 사용하고 아무것도 엉망으로 만들고 싶지 않으면 내 솔루션을 사용할 수 있습니다. 다음과 같이 xdg-open을 수동으로 편집하여 수정했습니다.

우선 (xdg-mime과 함께 앞에서 설명한 것처럼) mime이 연결되어 있는지 확인하십시오.

그런 다음 xdg-open을 루트로 백업하십시오 (해당되는 경우 스도)

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

마지막으로 root / 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으로 열립니다.

도움이 되길 바랍니다.


답변

내가 찾은 다른 제안 중 어느 것도 나를 위해 일하지 않았지만 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"

답변

alt.os.linux.slackware의 한 사람이 해결책을 찾았습니다.

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


답변

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