Автор:
Flash
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 или любой другой торрент-клиент)