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.