2011년 8월 31일 수요일

Mac OS X Lion에서 환경변수 설정 방법

Mac OS X용 GUI 애플리케이션(Application)은 터미널에서 설정한 환경변수(Environment Variable, .bash_profile, .bashrc 등에 지정한 경로 등)가 적용되지 않는다. 예를 들어 Mac OS X 에서 기본적으로 적용된 경로(PATH) 정보를 제외하고 GUI 애플리케이션이 그 외의 경로를 알지 못해 오류가 발생하는 경우가 있다. 실제로 Emacs.app의 경우 설정에 따라 /usr/local에 설치된 무언가(homebrew/MacPort/Fink 등으로 설치한 유틸리티는 이런 경로에 설치된다)를 접근하기 위해 특수한 경로 정보가 추가되어야 하는 경우도 있다.

터미널에서 GUI애플리케이션을 실행시키는 경우 이런 PATH 등의 환경변수는 터미널 쉘에서 불러들인 초기화 파일의 내용을 바탕으로 적용되기에 문제 없이 실행된다.

Mac OS X 라이온(Lion) 에서는 ~/.MacOSX/environment.plist 를 이용한 환경변수 설정 방법이 더 이상 지원되지 않는다. 로그인 시에만 적용되는 값이라는 불편한 점도 있었지만 이제는 아예 지원되지 않게 되면서 다른 방법을 이용해 환경변수를 설정해야 한다.

Mac OS X 라이온에서 GUI애플리케이션이 실행될 때 특정한 환경변수를 지정하려면 launchd.conf 라는 것을 만들어야 한다. /etc/launchd.conf 라는 파일을 생성하고 여기에 다음 식의 내용을 써 넣자.
setenv PATH /usr/local/bin:/usr/local/sbin:...
위 내용은 PATH 환경 변수를 설정하는 코드 예제이다. 실제로 적용할 때는 터미널에서 'echo $PATH' 를 실행하여서 결과를 그대로 PATH의 내용으로 써 주면 된다.

이 방법은 광역 적용, 즉 사용자를 가리지 않고 적용되어 버린다는 문제가 있다. 그래서 $HOME/.launchd.conf 파일에다가 이 내용을 써서 사용자마다 적용도 가능하다고 하는데... 나는 안되었다. 으악 X(

댓글 없음 :