最近、Githubは署名されたコミットのサポートを発表したので、Gitを設定しました。
git config --global user.signingkey F03CB372
git config --global commit.gpgsign true
すでにGPGキーがありますがF03CB372
、OSをインストールした直後に作成したようです。 KWalletはどこかでそれを使用します。
ただし、送信して署名しようとすると、次のエラーが発生します。
$ git commit -S -m 'Signed commit'
gpg: signing failed: Inappropriate ioctl for device
gpg: signing failed: Inappropriate ioctl for device
error: gpg failed to sign the data
fatal: failed to write commit object
パスワードを求めるKDEポップアップはありません。
私はこの問題を克服しましたkillall gpg-agent && gpg-agent --daemon
。再起動するたびに、セッションごとに1回、初めて使用するときにエージェントを再起動する必要があります。killall
実際には通常、gpg-agent
特定の方法で実行しますが、インスタンスが正しく構成されていないようです。その後、KDEは私がコミットに署名できるようにパスワードを要求しました。
また、他のプログラムでもこの問題が発生しているようです。私はKWalletをあまり使用しませんが、例えばAmarokは私のLast.FMアカウントをそこに保存します。ほとんど使用していないが、再起動するまでロギング(アカウントが必要)が機能しないことがわかりましたgpg-agent
。
私のコンテンツは次のとおりです~/.gnugpg
。
gpg.conf
openpgp-revocs.d
private-keys-v1.d
pubring.kbx
pubring.kbx~
random_seed
S.gpg-agent
S.uiserver
trustdb.gpg
ご覧のとおり、ここには設定はありませんが、gpg-agent.conf
これがデフォルトです。たぶんそれは問題ですか?