pinentry-gnome3 ncurses fallback blocked for a long time
pinentry-gnome3
should fall back to ncurses if it cannot contact the system prompter.
However, if D-Bus is available but a display is not (e.g. a ssh login with a user bus setup) an activated gcr-prompter
will fail gtk_init
and exit. The pinentry's gcr_system_prompt_open
blocks until the BeginPrompting
method call times out.
For this reason we can't have pinentry-gnome3
as a default pinentry implementation.
To reproduce without pinentry:
python -c 'from gi.repository import Gcr; Gcr.SystemPrompt.open(0, None)'