Magnet ссылки в Linux

вторник, 12 октября 2010 г.


Magnet-ссылки бывают разные, но я на практике использую только 2 типа: для торрентов и для DC++.
То есть xdg-open должен передавать ссылки начинающиеся на “magnet:?xt=urn:tree” в DC++-клиент (в моем случае EiskaltDC++), а ссылки начинающиеся на “magnet:?xt=urn:btih” в торрент-клиенте, которым у меня выступает Ktorrent.
Для этого нужно немного подредактировать наш файл xdg-open.

Спрашиваем у системы где он (использовать терминал):
whereis xdg-open


У меня ответ такой:
xdg-open: /usr/bin/xdg-open


Подредактируем его немного:
sudo kate /usr/bin/xdg-open

У меня система с рабочим окружением KDE, потому я использую Kate. Вы можете использовать любой другой текстовый редактор.
Находим в конце файла строки:
case “$DE” in

и дальше, в зависимости от вашего рабочего окружения редактируем соответствующий блок. Т.к. у меня КДЕ я заменяю блок 
kde)
open_kde "$url"
;;

на блок:
kde)
    if (echo $url | grep '^magnet:?xt=urn:tree') then
        eiskaltdcpp "$url"
    elif (echo $url | grep '^magnet:?xt=urn:btih') then
        ktorrent "$url"
    else 
    open_kde "$url"
    fi
    ;;

Если у вас Gnome заменяем блок 
gnome)
open_gnome "$url"
;;

На наш блок:
gnome)
    if (echo $url | grep '^magnet:?xt=urn:tree') then
        eiskaltdcpp "$url"
    elif (echo $url | grep '^magnet:?xt=urn:btih') then
        ktorrent "$url"
    else 
    open_gnome "$url"
    fi
;;


Немного расшифровки:
если у нас DC-magnet - открывать в eiskaltdcpp (вы можете вписать любую другую DC-программу),
а для torrent-magnet открывать ktorrent (вы можете прописать deluge или любой другой торрент-клиент)

 
Поверед бай: Dev crowd :)