我可以将 pass 配置为始终使用 pinentry-curses 吗?

我可以将 pass 配置为始终使用 pinentry-curses 吗?

我大多数时候使用 pinentry-qt,但在我使用 pass 的特定情况下,我想使用 pinentry-curses 因为启动时间更快。

有没有一种方法可以配置 pass 始终调用 pinentry-curses,同时保持 pinentry-qt 为系统默认值?

系统是Fedora和KDE。

这似乎密切相关,但我不知道如何应用它来通过:使用 gpg-agent 临时更改 pinentry 程序

答案1

从中汲取灵感你链接的问题:

  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
    
  2. 使脚本可执行:

    $ chmod u+x ~/bin/pinentry-wrapper
    
  3. 指示 GnuGP 使用您的pinentry( ~/.gnupg/gpg-agent.conf) 版本:

    pinentry-program /home/neftas/bin/pinentry-wrapper
    
  4. 重新启动gpg-agent

    $ pkill -HUP gpg-agent
    
  5. pass为( )创建包装脚本~/bin/pass

    #!/usr/bin/env bash
    
    PINENTRY_USER_DATA=curses /usr/bin/pass "$@"
    
  6. 使可执行:

    $ chmod u+x ~/bin/pass
    
  7. 确保~/bin首先在您的中搜索PATH(将其放入您的.bashrc):

    $ export PATH="~/bin:$PATH"
    
  8. 检查你的工作:

    $ command -v pass
    /home/neftas/bin/pass
    

所有这些脚本都是在 Arch Linux 上编写的,因此您的发行版上的位置可能有所不同。

相关内容