Та же команда, которая работает в терминале, не работает как Thunar Custom Action

Я хочу простую полубезопасную команду, которая шифрует файл с использованием симметричного шифрования 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?

1 ответ

Решение

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

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

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

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

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

Другие вопросы по тегам