Execute o script em vez de abrir o aplicativo (xdg-mime, gvfs-mime)

2

seguindo este pequeno hack, meu objetivo é fazer upload de qualquer link magnético para o meu PC "remoto": link

Infelizmente o Guia é de 2011 e usa o gconftools que não funciona na minha máquina. Pelo que eu entendi meu Ubuntu 14.04 com Unity usa xdg-mime e / ou gvfs-mime para definir a ação desejada, mas tudo que eu tentei até agora não funcionou e google não deu nenhum resultado sobre scripts. As páginas de manual também não me ajudaram. : /

Alguém mais experiente com esse material mime pode me ajudar a obter o comando certo?

TL; DR: O que eu quero é definir a ação padrão dos links magnéticos para executar um script em vez de abrir a transmissão.

    
por xeddo 11.10.2015 / 17:42

1 resposta

0

Com o uso de arquivos .desktop, finalmente consegui trabalhar. Aqui está a minha solução:

  1. crie um script para fazer o upload do link magnético para a transmissão em execução do PC:
test -z  && echo "need magnet link!" && exit
HOST=
PORT=
USER=
PASS=#apparently ";" does not work
LINK=""
#add torrent paused?
#PAUSED="true"
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}\"}}"

[desculpe, a formatação é horrível. não pode fazê-lo funcionar. "<code>" e outros caracteres dentro do codeblock são interpretados e NÃO são exibidos. por favor, verifique o link para o código de script completo: link ]

  1. crie um arquivo .desktop que execute o script acima e coloque o arquivo em / usr / share / applications /:
[Desktop Entry]
Version=1.0
Name=MagnetLinkTransfer
Comment=executes script to upload magnet link to desktop pc
Exec=/home/username/MagnetLinkTransfer.sh %u
Icon=utilities-terminal
Terminal=true
Type=Application
Categories=Application;

anote o% u como argumento para executar o script!

  1. definir ação / aplicativo para o xdg-open
xdg-mime default MagnetLinkTransfer.desktop x-scheme-handler/magnet
gvfs-mime --set x-scheme-handler/magnet MagnetLinkTransfer.desktop
    
por xeddo 12.10.2015 / 02:31