如何在签署提交时停止 git 使用 GUI PGP 密钥管理器?

How can I stop git from use of GUI PGP key manager when signing a commit?

我正在通过 ssh 在终端中工作。当我提交时,系统会要求我输入密码来解锁我的私钥。只要我没有图形会话 运行 一切都按预期工作。

问题是,当我有一个图形会话 运行 (XFCE) 时,系统要求我在该会话中而不是在终端中输入密码。当图形会话为 运行 时,如何强制 git/gpg2 在终端中询问密码?

我使用 Ubuntu 20.04 LTS。

您可能需要 gpg-agent.conf with a --pinentry-program set to /usr/bin/pinentry-tty (as in here)。将 export GPG_TTY=$(tty) 添加到您的 ~/.bashrc.

或者,作为 suggested here,使用以下命令调用 gpg:

gpg --pinentry-mode loopback --export-secret-keys -a | less