On Mon 2015-06-29 13:37:39 -0400, Michael Biebl wrote: > Am 17.06.2015 um 15:40 schrieb Michael Biebl: >> Am 17.06.2015 um 15:26 schrieb Werner Koch: >>> On Wed, 17 Jun 2015 14:31, d...@fifthhorseman.net said: >>> >>>> Michael was running 2.0.28 when he saw this, which is the latest in the >>>> 2.0.x branch. Does that not have the expected translations (even for >>>> "OK" and "Cancel")? >>> >>> Sure. Those strings are pretty old. Only the "_Save in password >>> manager" might be missing. >> >> As you can see from the screenshot, there weren't any translations at >> all in the dialog. 2.0.28 seems to have a (complete) po/de.po for German. >> So somethings seems to be broken passing those translations to >> pinentry-gnome3. > > Any news here? Is there further information I can provide to get this > solved? > It's currently my main blocker for switching gnome-keyring over to > pinentry-gnome3.
Ugh, i'm poking around at all of this, and seeing several ugly issues here associated with gpg session management. but first, the workaround: * with gpg-agent 2.1.x installed, you say the dialog is always being canceled. can you "gpgconf --kill gpg-agent" and then try again? If so, does the prompt work? if so, is it properly localized? It looks to me like it is localized in that case. I've set up ~/.gnupg/debugpinentry that is just: ----------- #!/bin/sh exec /usr/bin/pinentry --debug "$@" 2>> ~/.gnupg/pinentry.log ----------- and then ~/.gnupg/gpg-agent.conf has: --------- log-file /home/USERNAME/.gnupg/agent.log debug-level expert pinentry-program /home/USERNAME/.gnupg/debugpinentry --------- After several tries and several workarounds, i've seen the following error messages in pinentry.log: ** (pinentry:12120): WARNING **: couldn't create prompt for gnupg passphrase: Verbindung ist gescheitert:Verbindungsaufbau abgelehnt ** (pinentry:12995): WARNING **: couldn't create prompt for gnupg passphrase: Cannot autolaunch D-Bus without X11 $DISPLAY issues i'm seeing: a) the environment of the first running gpg-agent process is different from a shell running in the gnome session. In particular, i'm seeing differences in SESSION_MANAGER, WINDOWPATH, XAUTHORITY, XDG_SESSION_ID, and DBUS_SESSION_ADDRESS. At least one of these env var differences makes it impossible for gcr to find the right pieces to do the prompting. This is likely due to a gpg-agent instance held-over from a previous login. Assuming there is only one gpg-agent instance running on the machine, you can compare the environment yourself with: diff -u <(tr '\0' '\n' /proc/$(pidof gpg-agent)/environ | sort) <(tr '\0' '\n' /proc/self/environ | sort) b) when there is no gpg-agent instance held-over from a previous login, /etc/X11/Xsession.d/90gpg-agent launches one automatically before the session starts. It does this for the sake of co-installed gpg 1.4 installations which need a properly-populated GPG_AGENT_INFO to find the agent, and do not auto-start one on their own. In this case, though, the agent is started before the session manager, so the relevant variables for interacting with gcr are not populated. Maybe this is also influencing the localization failures? I'm not sure what the right way to resolve these issues is. We want gpg 1.4 and 2.1 to both work, co-installed, and we want them to work cleanly under gnome as well as under other session managers. Some open questions: 0) Are there other env vars we need to pass through from gpg to gpg-agent to pinentry for pinentry-gnome3 to work sanely (both for localization and for actual prompting)? 1) should gnome (and other session managers) be terminating gpg-agent before shutting down? If so, does that just mean a "gpgconf --kill gpg-agent" somewhere in the shutdown process, or something else? 2) why is "Passwort" localized but the others are not? is it pinentry doing that localization? If so, how is it finding that language but gpg-agent (which is invoking it) is not? 3) the gcr prompt itself still says "Passphrase:" at the top and "OK" in the lower-right, even when the rest of the dialog is in de_DE.UTF-8. Are these missing localizations? Any advice would be welcome, --dkg
signature.asc
Description: PGP signature