$ DISPLAY= gpg2 --yes --batch --no-tty < file.gpg
┌─────────────────────────────────────────────────────┐
│ Enter passphrase │
│ │
│ │
│ Passphrase ________________________________________ │
│ │
│ │
| <OK> <Cancel> │
└─────────────────────────────────────────────────────┘
Tanpa DISPLAY=
itu menunjukkan jendela GUI sebagai gantinya. Dalam hal apapun itu menunggu input, menginterupsi loop.
Bagaimana cara membuat gpg2 hanya menggunakan gpg-agent dan tidak pernah mengganggu pemrosesan untuk meminta sesuatu?
Menyediakan barang palsu --passphrase
membuat kunci hapus dari agen.
gpg-agent --batch
menghambat bisikan. Tapi saya tidak bisa memasukkan kata sandi pertama, yang diperlukanJawaban:
Anda dapat mengizinkan mode loopback pinentry di
gpg-agent.conf
dan gunakan--pinentry-mode cancel
(atauerror
, tergantung pada kebutuhan Anda) sebagai argumen untuk GnuPG. Ini akan berulang kembali menuntut frasa sandi ke GnuPG sebagai gantinya ke beberapa implementasi pinend frontend, dan kemudian mengembalikan kesalahan kegpg-agent
mensimulasikan tombol batal ditekan.sumber
Penanganan masalah: jangan gunakan gpg-agent sama sekali, gunakan
--passphrase-file
sebagai gantinya:sumber