web-dev-qa-db-fra.com

La même commande qui fonctionne dans le terminal ne fonctionne pas comme une action personnalisée Thunar

Je veux une simple commande semi-sécurisée qui crypte un fichier à l'aide du cryptage symétrique gpg, puis supprime le fichier d'origine. Dans le terminal, cette commande fonctionne correctement:

 gpg --passphrase-file /home/xxx/.gnupg/sympass --symmetric <file> && rm <file>

<file> est le fichier à chiffrer (et à supprimer). Cela fonctionne bien dans le terminal, mais lorsque j'essaie de faire une action personnalisée dans Thunar de cette façon

xfce4-terminal -e gpg --passphrase-file /home/xxx/.gnupg/sympass --symmetric %f && rm %f

et essayez d'utiliser cette action dans Thunar, rien ne se passe. Pourquoi et existe-t-il un moyen de déboguer les actions personnalisées thunar?

3
Bengt Olsson

Il y a deux problèmes ici. L'une est que le && n'est pas reconnu et vous avez besoin d'un shell complet et l'autre est que pour qu'il s'exécute, vous avez besoin d'un tty que thunar n'a pas lorsqu'il est lancé à partir du menu GUI. Donc, écrivez d'abord un script avec ces contenus:

#!/bin/bash
gpg --passphrase-file /home/beos/.gnupg/sympass --symmetric "$1"  && rm "$1"

Rendre le script exécutable (chmod a+x /path/to/script.sh), puis définissez l'action sur:

xfce4-terminal -x /path/to/script.sh %f

Cela devrait le faire fonctionner dans un terminal et dans une session bash normale, il devrait donc fonctionner comme prévu.

6
terdon