私はArch LinuxでKDEを使用しており、上記のようにssh-agentエミュレーションモードでgpg-agentを実行しようとしています。ここ。
~/.config/environment.d/80_gpg_agent.conf
envファイルを作成しました。システム環境ジェネレータ:
PINENTRY=pinentry-qt
SSH_AUTH_SOCK=${XDG_RUNTIME_DIR}/gnupg/S.gpg-agent.ssh
言及されたジェネレータはこれを許可しないので設定しませんでしたが、SSH_AGENT_PID
とにかく設定しないでください(そしてそうではありません)。
システムを起動してTTYにログインすると、正しい値SSH_AUTH_SOCK
(からsystemctl --user show-environment
)が得られます。
その後、KDE セッションにログインしない場合は、正しい SSH_AUTH_SOCK 値を取得します。
SSH_AUTH_SOCK=/run/user/1000/gnupg/S.gpg-agent.ssh
KDEセッション(WaylandまたはX11)にログインすると、この値が何かによって上書きされていることがわかります。
SSH_AUTH_SOCK=/run/user/1000/ssh-agent.socket
値は通常設定される標準値と同じです。SSHエージェントただし、ssh-agentを自動的に起動させる単位ファイルはありません。
これまで、次のことを確認しました。
SSH_AUTH_SOCK
、または設定するコードがありません.bashrc
。.profile
/etc/bash.bashrc
/etc/profile
/etc/profile.d/*
- gpg-agentに設定した環境変数の
/etc/environment
内側または外側に環境変数がありません。~/.config/environment.d/*
- ssh-agentは組み込みのkeepassxcを使用しますが、自動起動に追加しなかったため、ssh-agentが無効になっています。
では、問題はこの設定がどこにあり、私の環境を上書きしないようにするにはどうすればよいですか?
答え1
(廃止)モジュールを使用して問題が~/.pam_environment
発生したようですpam_env
。
~/.pam_environmentが上書きされたことがわかりました。SSH_AUTH_SOCK=${XDG_RUNTIME_DIR}/ssh-agent.socket
廃止予定とマークされているため、使用される可能性があるとは思えませんでした。