Google Chrome + magnet-ссылки

Оригинал: www.welinux.ru
Магнет-ссылки предназначены для указания на ресурсы, доступные к загрузке через p2p сети. Такие ссылки в основном идентифицируют файлы не по их расположению или имени, а по содержанию, точнее, по хеш-коду.

При клике по такой ссылке google chrome передаёт эту ссылку утилите xdg-open, которая в свою очередь передаёт ссылку конечной программе. Но вряд ли xdg-open точно знает какая программа должна обрабатывать magnet-ссылку и у меня, например, xdg-open передавала ссылку x-www-browser, коим в моей системе является google-chrome. Сейчас я расскажу вам как научить xdg-open открывать magnet-ссылки тем, чем нужно.

Для этого открываем его для редактирования

sudo gedit /usr/bin/xdg-open

Далее идем в самый конец файла и видим строки:


case "$DE" in
kde)
open_kde "$url"
;;
gnome)
open_gnome "$url"
;;
xfce)
open_xfce "$url"
;;
generic)
open_generic "$url"
;;
*)
exit_failure_operation_impossible "no method available for opening '$url'"
;;
esac

Понятно, что для open_xfce соответствует то, что команда будет выполняться в xfce, для open_kde то, что в kde и т.д. При необходимости ненужные DE можно стереть. Теперь нужно добавить условие, которое будет выполняться, если переданная ссылка magnet. Ниже приведен пример для всех DE и torrent клиента deluge.


case "$DE" in
kde)
if (echo $url | grep '^magnet') then
deluge "$url"
else
open_kde "$url"
fi
;;
gnome)
if (echo $url | grep '^magnet') then
deluge "$url"
else
open_gnome "$url"
fi
;;
xfce)
if (echo $url | grep '^magnet') then
deluge "$url"
else
open_xfce "$url"
fi
;;
generic)
if (echo $url | grep '^magnet') then
deluge "$url"
else
open_generic "$url"
fi
;;
*)
exit_failure_operation_impossible "no method available for opening '$url'"
;;
esac

Естественно, что вместо deluge вы можете подставить любую программу.
Как я уже сказал ненужные DE можно удалить и для openbox вышепреведённый код можно заменить на:


if (echo $url | grep '^magnet') then
deluge "$url"
else
open_generic "$url"
fi

Вот и всё, теперь можете попробовать покликать magnet-ссылки.

Оцените блог: 
Средняя: 1.8 (210 оценки)