![launchctl setenv를 사용하여 SSH_AUTH_SOCK을 변경할 수 없습니다.](https://rvso.com/image/1505678/launchctl%20setenv%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20SSH_AUTH_SOCK%EC%9D%84%20%EB%B3%80%EA%B2%BD%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
SSH_AUTH_SOCK
OSX El Capitan 시스템의 다른 위치에 값을 설정하고 싶습니다 . 다음 명령을 실행하여 그렇게하려고했습니다.
$ launchctl setenv SSH_AUTH_SOCK ~/.gnupg/S.gpg-agent.ssh
그러나 SSH_AUTH_SOCK
터미널을 다시 시작한 후에도 여전히 기본값을 유지합니다.
$ echo $SSH_AUTH_SOCK
/private/tmp/com.apple.launchd.XXXXXXXXXX/Listeners
SSH_AUTH_SOCK
하지만 흥미롭게도 using 값을 쿼리하면 launchctl
원하는 결과를 얻습니다.
$ launchctl getenv SSH_AUTH_SOCK
/Users/sora/.gnupg/S.gpg-agent.ssh
SSH_AUTH_SOCK
시스템 전체 의 값을 올바르게 설정하려면 어떻게 해야 합니까 ?
편집: SSH_AUTH_SOCK
쉘 시작 파일(예: , ,)에 설정 ~/.zshrc
되지 /etc/zshrc
않았습니다 /etc/zprofile
.
답변1
이 내용은 대부분 우수 게시물에서 발췌되었습니다.여기.
~/Library/LaunchAgents
다음 내용으로 디렉터리 에 plist 파일을 만들어야 합니다 .
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>link-ssh-auth-sock</string>
<key>ProgramArguments</key>
<array>
<string>/bin/sh</string>
<string>-c</string>
<string>/bin/ln -sf $HOME/.gnupg/S.gpg-agent.ssh $SSH_AUTH_SOCK</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
트릭을 수행해야합니다.