我大多数时候使用 pinentry-qt,但在我使用 pass 的特定情况下,我想使用 pinentry-curses 因为启动时间更快。
有没有一种方法可以配置 pass 始终调用 pinentry-curses,同时保持 pinentry-qt 为系统默认值?
系统是Fedora和KDE。
这似乎密切相关,但我不知道如何应用它来通过:使用 gpg-agent 临时更改 pinentry 程序
答案1
从中汲取灵感你链接的问题:
pinentry
为( )创建包装脚本~/bin/pinentry-wrapper
:#!/usr/bin/env bash # # Defaults to Qt, with a choice of curses for selected programs # PINENTRY_USER_DATA is a GnuPG defined variable (see man gpg) case "$PINENTRY_USER_DATA" in curses) exec /usr/bin/pinentry-curses "$@" ;; *) exec /usr/bin/pinentry-qt "$@" ;; esac
使脚本可执行:
$ chmod u+x ~/bin/pinentry-wrapper
指示 GnuGP 使用您的
pinentry
(~/.gnupg/gpg-agent.conf
) 版本:pinentry-program /home/neftas/bin/pinentry-wrapper
重新启动
gpg-agent
:$ pkill -HUP gpg-agent
pass
为( )创建包装脚本~/bin/pass
:#!/usr/bin/env bash PINENTRY_USER_DATA=curses /usr/bin/pass "$@"
使可执行:
$ chmod u+x ~/bin/pass
确保
~/bin
首先在您的中搜索PATH
(将其放入您的.bashrc
):$ export PATH="~/bin:$PATH"
检查你的工作:
$ command -v pass /home/neftas/bin/pass
所有这些脚本都是在 Arch Linux 上编写的,因此您的发行版上的位置可能有所不同。