One-liner para visualizar um pdf criptografado por gpg

1

Eu gostaria de abrir um documento pdf criptografado sem salvar seu conteúdo descriptografado em meu disco / disco usando um visualizador de documentos padrão.

Eu já tentei algo como

gpg --decrypt foo.pdf.gpg | evince /dev/stdin

Mas isso não funciona.

Qualquer coisa ajuda!

    
por rralf 03.11.2015 / 12:30

1 resposta

1

Lendo o seu comentário Acho que você pode criar um arquivo temporário e destruí-lo ao sair do evince .

gpg --output bar.$$.pdf --decrypt foo.pdf.gpg ; evince bar.$$.pdf ; rm bar.$$.pdf

(Observe com $$ você pega o PID da sessão atual do BASH).

Se você quiser aumentar a segurança, crie um pequeno script que execute os comandos acima e wait o final de evince em uma subshell () . Você pode começar com algo como o abaixo ... chmod u+x foobar.sh para torná-lo executável.

#!/bin/bash

FileToDecript=${1}                 # pass the name as 1st parameter
[ $# != 1 ] && exit 1;             # exit if you forget about it
FileOut="temp.$$.pdf"              # temporary filename with the bash PID
gpg --output $FileOut --decrypt $FileToDecript ;
[ ! $? -eq 0 ] && exit 2;          # exit if failed to decrypt

                                   # The following run in a subshell (...)
( evince $FileOut  &                  # evince runs in background
  wait $!                             # here wait evince ends
  rm $FileOut ) &                     # here remove the file
                                   # the subshell is executed in background '&'

Você pode querer criar o arquivo temporário no diretório especial que não pode ser lido por outros usuários e talvez sob o /tmp ou outro que será apagado na próxima reinicialização.

    
por 03.11.2015 / 13:40