常にpinentry-cursesを使用するようにパスを設定できますか?

常にpinentry-cursesを使用するようにパスを設定できますか?

私はpinentry-qtを主に使用していますが、passを使用する特別なケースでは起動時間が速いので、pinentry-cursesを使用したいと思います。

pinentry-qtをシステムのデフォルトに保ちながら常にpinentry-cursesを呼び出すようにパスを設定する方法はありますか?

システムはFedoraとKDEです。

これは密接に関連しているようですが、次の方法で適用する方法がわかりません。pinentryプログラムを一時的に変更するには、gpg-agentを使用してください。

ベストアンサー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. pinentryGnuGPにあなたの(~/.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で書かれているため、ディストリビューションによって場所が異なる場合があります。

おすすめ記事