Mountain Lion에서 새로 시작된 모든 응용 프로그램에 대한 PATH 환경 변수를 한 곳에서 어떻게 설정합니까? 파인더를 통해 시작된 응용 프로그램 에

Ask On PATH환경 변수와 쉘, 스포트라이트 또는 파인더를 통해 시작된 응용 프로그램 에 대해 환경 변수를 설정하는 방법 에 대한 많은 질문이 있습니다 (일반적인 질문 : Finder 실행 응용 프로그램에 대한 PATH 설정 방법 또는 PATH 환경 변수 변경 방법). .. ).

대답은 sh시작 스크립트 에서 /etc/paths까지 /etc/launchd.conf입니다. 다음 은 Mac OS X Mountain Lion 10.8.2의 모든 앱 에 대한 통합 설정에 PATH대한 답변입니다 .



답변

다른 옵션으로 많은 시험을 마친 후 결론을 내립니다.

쉘 스크립트, Finder 및 Spotlight와 같은 다른 방법으로 시작된 애플리케이션 을 위한 통합 된 방법PATH있습니까? 예, 아니오 :

  • 아니요 : PATH셸 시작 스크립트 (예 :)의 설정 은 셸에서 시작한 .bashrc앱에서만 작동합니다.
  • 아니오 : PATH현재 launchd프로세스를 통한 설정 launchctl setenv PATH <...>이 전혀 작동하지 않습니다.
  • : 설정 PATH에서 /etc/launchd.conf(시스템을 다시 시작) 적절한 것 PATH스포트 라이트, 도크 및 찾기 및 이후 (로컬) 쉘에 의해 실행 된 응용 프로그램에서 볼 수 있습니다.
  • 아니오 : 원격으로 호출 된 쉘은 환경을 상속 하지 않습니다 . ( … ssh를 통한 원격 쉘이 환경을 상속하지 않는 이유를 참조하십시오 . )

쉘 설정에 대한 참고 사항 :

  1. 의 정확한 기능을 위해 지역 껍질이 중요하다 off 스위치 의 사용 /usr/libexec/path_helper의 기본 경로가 있기 때문에, /etc/paths에서 경로의 순서를 변경할 수 있습니다 PATH. **

  2. 원격 쉘 을 수용하려면 launchd환경을 쉘로 다시 가져와야합니다 . 당신의 다음과 같은 것을 사용하십시오 .bashrc:

# the vexatious path stuff
eval $(launchctl export)

전체 문제의 불행한 결과는 다음과 같습니다.

  • 이러한 통합 설정을 사용자별로 할 수있는 방법은 없습니다. ( ~/.launchd.conf작동하지 않습니다.)
  • 홈 디렉토리 확장 등과 같은 기술을 사용하여 다른 소스에서 PATH를 구성하는 쉬운 방법은 없습니다.

답변

이전 답변 에서 확장 하여 경로를 변경 /etc/launchd.conf하려면 다음을 수행해야합니다.

  1. 관리자 권한이 있는지 확인하십시오.

  2. 다음 내용으로 새 텍스트 파일을 작성하고 필요에 맞게 수정하십시오.

    setenv PATH /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/Users/YourUserName/bin
    
  3. 홈 디렉토리에 로 저장하십시오 launchd.conf.

  4. Terminal.app (또는 선호하는 대체품)을 열고 다음을 입력하십시오.

    sudo mv ~/launchd.conf /etc

    sudo명령 의 이전 사용법에 따라 “작업을주의해서 수행하십시오”라는 메시지가 표시되지만 암호를 입력해야합니다. /etc예를 들어 TextEdit에서 파일을 저장할 때 직접 액세스 할 수없는 디렉토리로 파일을 이동하면됩니다 . sudo( “Super User DO”의 줄임말)는 해당 디렉토리에 쓰기 위해 관리자 권한이 필요하기 때문에 사용됩니다.

  5. 컴퓨터를 재부팅하십시오.

그리고 당신은 모든 준비가되어 있어야합니다. 행운을 빕니다!


답변

당신은 줄 수 https://github.com/ersiner/osx-env-sync 시도.

단일 소스 에서 명령 행 및 GUI 앱모두 처리 합니다 . 또한 최신 버전의 OS X (Yosemite)에서 작동합니다.


답변