Signing email messages is a requirement that I have several times a day. Claws Mail handles this requirement very nicely with the GPG Plugin. The plugin provides a configuration option to set a time period for the pinentry passphrase to be stored. For example, I have set the passphrase to be stored for 600 minutes. This means that when I enter the passphrase in the morning it is being cached for the rest of the working day, i.e. for 10 hours. If I need to sign an email after this period, the pinentry dialog will appear again and I re-enter the passphrase. Once entered the passphrase is stored for a further ten hours.
Claws Mail About screenshot
At least, this is how it worked until my recent upgrade. Now, regardless of the config setting of 600 minutes I was being prompted to enter my passphrase every time. This was a bit annoying.
It took me some time to realise that I actually had two pinentry tools installed: one for GTK2 and another for GNOME. I was being prompted by the GNOME version, which isn't used by the Claws Mail GPG Plugin. Although the two pinentry dialogs look different I hadn't twigged as I assumed it was a style change brought about by my system upgrade.
I couldn't deinstall the GNOME pinentry package as it was a dependency of another package which I required (Evolution). Instead I needed to prioritise the use of the GTK2 version which I could do using the command line tool update-alternatives (as root):
update-alternatives --config pinentry
There are 2 choices for the alternative pinentry
Selection Path Priority Status
0 /usr/bin/pinentry-gnome3 90 auto mode
1 /usr/bin/pinentry-gnome3 90 manual mode
* 2 /usr/bin/pinentry-gtk-2 85 manual mode
Press enter to keep the current choice[*], or type selection number:
Once this was done the previous, and desired behaviour, was restored.