Такая же команда, которая работает в терминале, не работает как пользовательское действие Thunar

3

Мне нужна простая полузащитная команда, которая шифрует файл с использованием gpg симметричного шифрования, а затем удаляет исходный файл. В терминале эта команда работает нормально:

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

где <file> - это файл, который должен быть зашифрован (и удален). Это отлично работает в терминале, но когда я пытаюсь выполнить пользовательское действие в Thunar таким образом

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

и попробуйте использовать это действие в Thunar, ничего не происходит. Почему, и есть ли способ отлаживать пользовательские действия thunar?

    
задан Bengt Olsson 03.04.2016 в 11:59
источник

1 ответ

6

Здесь есть две проблемы. Один из них заключается в том, что && не распознается, и вам нужна полная оболочка, а другая - для того, чтобы он запускался, вам нужно tty, которое thunar не имеет при запуске из меню графического интерфейса. Итак, сначала напишите сценарий с этим содержимым:

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

Сделайте исполняемый файл сценария ( chmod a+x /path/to/script.sh ), а затем установите действие:

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

Это должно заставить его работать в терминале и в обычном сеансе bash, чтобы он работал должным образом.     

ответ дан terdon 03.04.2016 в 15:11
источник