Pinentry program not offering to save password

Updating this post for clarity

I have configured git commit signing, which relies on GPG.
When I commit, gpg pinentry popup comes up but it doesn’t offer to save password (which it should).
I changed the pinentry programs but still none of them offer to save password.
Reinstalling pinentry didn’t help either.

Any solutions?


Original Post

I have KeepassXC installed with its Secret service enabled. But to enable it first, I had to install kwalletmanager and then disable KDE wallet from system settings.

Secret Service & KeepassXC is working as expected and I have seen Neo Chat use it to log into my Matrix account.

Now I have configured git to sign my commits. When committing, I see a GUI popup (pinentry-gnome3) asking for GPG password, with no kind of check box to save it in Secret Service. This is not what should be happening…

I have done same thing in KDE Neon & Fedora KDE Spin, in both the distros pinentry-gnome3 correctly queries secret service and I see no popups. This is the expected behaviour.

I have tried reinstalling pinentry program, even used other pinentry programs as listed by

pacman -Ql pinentry | grep -i /usr/bin/p

But none of them work as expected. Each one of them popup asking for password.

I have not tried pinentry-git because it is on v1.2 where as pinentry is v1.3 (as reported by yay -sS pinentry)

Any solutions?

I asked at gnupg mailing list and here is the solution:
https://lists.gnupg.org/pipermail/gnupg-users/2024-October/067377.html

So here is the solution summary:

Pinentry prorgam in KDE needs this line:

export PINENTRY_KDE_USE_WALLET=1

Which Should be put in a script located at:

$HOME/.config/plasma-workspace/env

For eg:

$HOME/.config/plasma-workspace/env/pinentry-kde-fix.sh

Only then pinentry will offer to save password.
Do not put inside ~/.bashrc else it won’t work.