Mountain Lion에서 시스템 환경 변수는 어디에 설정되어 있습니까?


46

Lion (및 이전 릴리스)에서는에있었습니다 .MacOSX/environment.plist. 10.8로 업그레이드 한 후에도 파일은 여전히 ​​존재하지만 변수를 사용하지 않습니다.

또한 그것들을 추가하려고 시도했지만 /etc/launchd.conf터미널에 표시되지만 GUI 응용 프로그램 (내 IDE와 같은)에는 표시되지 않습니다.


변경 후 재부팅 했습니까 /etc/launchd.conf?
— nohillside

나는 그 안에 있었고, 그 안에있는 모든 변수는 이제 모든 터미널에서 사용할 수 있지만 IDE에는 없습니다.
— Felix

어쩌면 IDE가 환경을 노출시키지 않을 수도 있습니다 (내 답변보기 ). 어떤 IDE입니까? Finder 또는 Spotlight에서 직접 시작합니까?
— halloleo

답변:


22

나는 Apple Developer Forums 에서도이 질문을하고 공식적인 답변을 얻었습니다.

원하는 환경 변수가 포함 된 "LSEnvironment"사전을 포함하도록 .app 자체의 Info.plist를 변경하십시오.
~ / .MacOSX / environment.plist는 더 이상 지원되지 않습니다.


2
그 위치는 어디입니까?
— orome

보다 구체적인 예에 ​​대한 링크를 제공하는 것이 유용합니다.
— Blaisorblade

1
업데이트 : 구문을 파악한 후에 해당 파일을 변경하려고했지만 (제 생각에는) 전혀 작동하지 않습니다.
— Blaisorblade

4
WhatEver.app/Content/Info.plist에는 응용 프로그램 당 Info.plist가 있습니다. XCode로 편집 할 수 있습니다. 정보 속성 목록에서 "+"를 클릭하고 LSEnvironment라는 사전을 추가하십시오. 올바르게 입력하면 이름이 환경 변수로 바뀝니다. 그런 다음 추가하려는 각 환경 변수에 대해 "+"를 클릭하십시오.
— Felix

2
이것은 좋은 해결책이지만 더 이상 Yosemite 10.10.5부터 작동하지 않습니다.
— Dalmazio

21

나는 이것이 오래된 질문이라는 것을 알고 있지만 요세미티 /etc/launchd.conf에서는 더 이상 작동하지 않는다고 지적 했습니다 (Man 페이지에서 확인). 여기 대안이 있습니다.

AppleScript 편집기를 실행하고 다음과 같은 명령을 입력하십시오.

do shell script "launchctl setenv variablename value"

(원하는만큼 줄을 추가하십시오)

이제 (⌘S)를 파일 형식 : Application 으로 저장하십시오 . 마지막으로 시스템 설정 → 사용자 및 그룹 → 로그인 항목을 열고 새 응용 프로그램을 추가하십시오.


참고 그것은 수도없고 로그인 항목으로 열고 다른 응용 프로그램과 작업은 로그인 후 신속하게 열 아마도 그
— user151019

이것은 나를 위해 일했습니다. 정말 고맙습니다. 이것은 하루 종일 미치게되었습니다!
— wholladay

2
지금까지 유일한 실제 및 범용 솔루션처럼 보입니다. 그러나 올라가서 첫 번째 답이 되려면 9 개의 투표자가 더 필요합니다. : c
— Sarge Borsch

이것은 El Capitan에서 나를 위해 일했습니다. @Mark가 위에서 언급 한 것처럼 주문 관련 문제 (예 : 재개 된 응용 프로그램에 환경이 있거나 없을 수 있음)가 있지만 일단 로그인하면 예상대로 작동합니다. 즉, Spotlight 또는 Dock에서 시작한 응용 프로그램의 환경이 올바른 것입니다.
— Alec Thomas

@Mark 시작 에이전트를 사용 하여이 답변을 시도 할 수 있습니다 . 필자의 경우 Launch Agent는 Login Items 다음에 시작되므로 Eclipse와 같은 대상 응용 프로그램을 Login Item에서 Launch Agent로 이동 하여이 특수 응용 프로그램 설정 환경 변수 후에 시작되도록합니다.
— Franklin Yu

10

알다시피 environment.plist 파일 사용은 더 이상 따르지 않으며 LSEnvironment 문자열 로 Info.plist에 저장된 변수 는 launchd 만 설정됩니다 .

터미널 / 쉘에서 직접 프로그램을 호출 할 경우 터미널이 설정할 일반 환경 변수를 설정하기 위해 이들에 의존 할 수 없습니다. 좋은 소식은 open -a명령이 실행을 시작하기 위해 실행을 트리거하므로 로컬 셸 환경이 아닌 경우 앱 환경에 대해 변수가 일관되게 설정됩니다.


4

환경 변수를 설정 /etc/launchd.conf하는 방법은 다음과 같습니다. 로컬 셸, Finder 또는 Spotlight 로 재부팅 한 후 시작된 모든 응용 프로그램은 이러한 변수를 상속합니다.이를 Mountain Lion 10.8.3에서 광범위하게 테스트했습니다.

2 가지주의 사항 :


1
/etc/launchd.confYosemite부터 더 이상 지원되지 않습니다. apple.stackexchange.com/questions/106355/…
— Franklin Yu

3

시도하십시오 launchctl setenv NAME VALUE. launchd.conf 편집과 다른지 여부는 모르겠지만 터미널 및 GUI 응용 프로그램 모두에서 작동합니다. 자세한 내용은.

이것은 재부팅 후에도 지속되지 않습니다. 이를 해결 하는 방법이 있습니다.


3
그것은 당신이 여기에 링크하는 꽤 긴 페이지입니다. 관련 부분이 정확히 어디에 있습니까? 누구나 쉽게 이해할 수 있도록 답변에 직접 포함시킬 수 있습니까?
— nohillside

2
죄송합니다, 좋은 지적, 그 URL에 더 많은 조각을 포함시킬 것이라고 생각했습니다. 결정된.
— ryan mar

1
주어진 재부팅을 통해 생존하는 방법은 라이온에서 작동을 중지 environment.plist이 사용
— user151019
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.