다른 옵션으로 많은 시험을 마친 후 결론을 내립니다.
쉘 스크립트, Finder 및 Spotlight와 같은 다른 방법으로 시작된 애플리케이션 을 위한 통합 된 방법 이 PATH
있습니까? 예, 아니오 :
- 아니요 :
PATH
셸 시작 스크립트 (예 :)의 설정 은 셸에서 시작한 .bashrc
앱에서만 작동합니다.
- 아니오 :
PATH
현재 launchd
프로세스를 통한 설정 launchctl setenv PATH <...>
이 전혀 작동하지 않습니다.
- 예 : 설정
PATH
에서 /etc/launchd.conf
(시스템을 다시 시작) 적절한 것 PATH
스포트 라이트, 도크 및 찾기 및 이후 (로컬) 쉘에 의해 실행 된 응용 프로그램에서 볼 수 있습니다.
- 아니오 : 원격으로 호출 된 쉘은 환경을 상속 하지 않습니다 . ( ... ssh를 통한 원격 쉘이 환경을 상속하지 않는 이유를 참조하십시오 . )
쉘 설정에 대한 참고 사항 :
의 정확한 기능을 위해 지역 껍질이 중요하다 off 스위치 의 사용 /usr/libexec/path_helper
의 기본 경로가 있기 때문에, /etc/paths
에서 경로의 순서를 변경할 수 있습니다 PATH
. **
원격 쉘 을 수용하려면 launchd
환경을 쉘로 다시 가져와야합니다 . 당신의 다음과 같은 것을 사용하십시오 .bashrc
:
# the vexatious path stuff
eval $(launchctl export)
전체 문제의 불행한 결과는 다음과 같습니다.
- 이러한 통합 설정을 사용자별로 할 수있는 방법은 없습니다. (
~/.launchd.conf
작동하지 않습니다.)
- 홈 디렉토리 확장 등과 같은 기술을 사용하여 다른 소스에서 PATH를 구성하는 쉬운 방법은 없습니다.
/etc/launch.conf
에서는 via를 통해 PATH 설정 이 작동 하지 않습니다 (sshd
환경이 전달되지 않으므로 부모launchd
에서 자식 쉘로 상속 됩니다). -그에 따라 답변을 편집하겠습니다.