运行脚本而不是打开应用程序(xdg-mime、gvfs-mime)

运行脚本而不是打开应用程序(xdg-mime、gvfs-mime)

按照这个小技巧,我的目标是将任何磁力链接上传到我的“远程”台式电脑:https://blog.flo.cx/2011/02/how-to-open-magnet-links-on-a-remote-transmission-daemon-with-one-click/

不幸的是,该指南是 2011 年的,使用的 gconftools 在我的计算机上不起作用。据我所知,我的 Ubuntu 14.04 Unity 使用 xdg-mime 和/或 gvfs-mime 来设置所需的操作,但到目前为止我尝试的所有方法都没有用,谷歌也没有给出任何有关脚本的结果。手册页也没有帮助我。:/

有没有对这种模仿技巧更有经验的人能帮助我获得正确的命令?

TL;DR:我想要将磁力链接的默认操作设置为运行脚本而不是打开传输。

答案1

通过使用 .desktop 文件,我终于让它工作了。这是我的解决方案:

  1. 创建脚本将磁力链接上传到运行传输的PC上:
test -z $1 && echo "需要磁力链接!" && 退出
主机=
端口=
用户=
PASS=#显然“;”不起作用
链接=“$1”
#add torrent 暂停了吗?
#PAUSED="真"
暂停=“false”
SESSID=$(curl --silent --anyauth --user $USER:$PASS "http://$HOST:$PORT/transmission/rpc" | sed 's/.*//g;s/.*//g')
curl --silent --anyauth --user $USER:$PASS --header "$SESSID" "http://$HOST:$PORT/transmission/rpc" -d "{\"method\":\"torrent-add\",\"arguments\":{\"paused\":${PAUSED},\"filename\":\"${LINK}\"}}"

[抱歉,格式太糟糕了。无法使其工作。"<code>"并且代码块内的其他字符被解释并且不会显示。请查看链接以获取完整的脚本代码:https://blog.flo.cx/2011/02/how-to-open-magnet-links-on-a-remote-transmission-daemon-with-one-click/]

  1. 创建执行上述脚本的 .desktop 文件并将文件放在 /usr/share/applications/ 中:
[桌面条目]
版本=1.0
名称=MagnetLinkTransfer
注释=执行脚本将磁力链接上传至台式电脑
Exec=/home/用户名/MagnetLinkTransfer.sh %u
图标=实用程序终端
终端=true
类型=应用程序
类别=应用程序;

注意 %u 作为执行脚本的参数!

  1. 为 xdg-open 设置操作/应用程序
xdg-mime 默认 MagnetLinkTransfer.desktop x-scheme-handler/magnet
gvfs-mime --set x-scheme-handler/magnet MagnetLinkTransfer.desktop

相关内容