web-dev-qa-db-fra.com

Exécuter le script au lieu d'ouvrir l'application (xdg-mime, gvfs-mime)

après ce petit hack, mon objectif est de télécharger n'importe quel lien magnétique sur mon PC de bureau "distant": https://blog.flo.cx/2011/02/how-to-open-magnet-links-on -a-remote-transmission-daemon-with-one-click /

Malheureusement, le Guide date de 2011 et utilise gconftools qui ne fonctionne pas sur ma machine. D'après ce que je comprends, mon Ubuntu 14.04 avec Unity utilise xdg-mime et/ou gvfs-mime pour définir l'action souhaitée, mais tout ce que j'ai essayé jusqu'à présent n'a pas fonctionné et google n'a donné aucun résultat concernant les scripts. les pages de manuel ne m'ont pas aidé non plus. : /

Quelqu'un plus expérimenté avec ce truc de mime peut-il m'aider à obtenir la bonne commande?

TL; DR: Ce que je veux, c'est définir l'action par défaut des liens magnétiques pour exécuter un script au lieu d'ouvrir la transmission.

2
xeddo

Avec l'utilisation de fichiers .desktop, j'ai finalement réussi à le faire fonctionner. Voici ma solution:

  1. créer un script pour télécharger le lien magnétique vers le PC exécutant la transmission:
 test -z $ 1 && echo "nécessite un lien magnétique!" && exit 
 Host = 
 PORT = 
 USER = 
 PASS = # apparemment ";" ne fonctionne pas 
 LINK = "$ 1" 
 # ajouter torrent en pause? 
 # 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}\"}}"

[désolé, le formatage est horrible. ne peut pas le faire fonctionner. "<code>" et d'autres caractères à l'intérieur du bloc de code sont interprétés et NE SONT PAS AFFICHÉS. veuillez vérifier le lien pour le code de script complet: https://blog.flo.cx/2011/02/how-to-open-magnet-links-on-a-remote-transmission-daemon-with-one -click / ]

  1. créez un fichier .desktop qui exécute le script ci-dessus et placez le fichier dans/usr/share/applications /:
 [Entrée bureau] 
 Version = 1.0 
 Nom = MagnetLinkTransfer 
 Commentaire = exécute le script pour télécharger le lien magnétique sur le PC de bureau 
 Exec =/home /username/MagnetLinkTransfer.sh% u 
 Icon = utilities-terminal 
 Terminal = true 
 Type = Application 
 Catégories = Application; 

notez le% u comme argument pour exécuter le script!

  1. définir l'action/l'application pour xdg-open
 xdg-mime par défaut MagnetLinkTransfer.desktop gestionnaire de schéma x/magnet 
 gvfs-mime --set gestionnaire de schéma x/magnet MagnetLinkTransfer.desktop 
0
xeddo