GPG PinEntry Prompt Not Showing Up When Used Within Dmenu

January 25th 2023/Share/Edit

A recent switch to using pass (unix password manager) led to me discovering some issues with gpg pinentry and dmenu. Whenever I would use passmenu (a demu script) to select a password, instead of prompting me for my gpp passthrase it would instead do nothing.

The reason for this is that gpg by default uses pinentry-curses, which doesn't support creating a new window in I3 window manager. Instead, we need to switch the default pinentry command to be pinentry-gtk-2.

Changing GPG PinEntry Command

To do this edit the file

.gnupg/gpg-agent.conf

and add the line:

pinentry-program /usr/bin/pinentry-gtk-2

and lastly tell gpgp to reload:

gpg-connect-agent reloadagent /bye

Installing gtk

If you don't have gtk2 installed, you'll also need it.

To do so simply run the command (on arch):

pacman -S gtk2