"ssh-agent dwm" は .xinitrc で始まりますが、環境変数が設定されていません。

.xinitrc次の行を含むファイルを取得します。

# it will start my window manager
ssh-agent dwm

その後、プロセスを取得しましたが、端末で実行したときなどの ssh-agent環境変数は存在しませんでした。どんなアイデアがありますか?$SSH_AGENT_PID$SSH_AUTH_SOCKdwm

プロセスが1つだけあったらと思いますssh-agent。各呼び出しはssh-add起動したエージェントに接続する必要がありますdwm

ベストアンサー1

ssh-agent接続に必要な環境変数を出力します。これをeval呼び出してすぐに環境にロードします。

なぜssh-agent私はこれを自分で行うことができないのですか?

Unixでは、プロセスは自分の環境変数のみを変更し、それを子プロセスに渡すことができます。システムで許可されていないため、親プロセスの環境を変更できません。これは非常に基本的なセキュリティ設計です。

関連読書これ

したがって、 `.xinitrcを次のように残してください。

eval $(ssh-agent) &
exec dwm

おすすめ記事