Leopard의 X11은 Tiger시절의 X11과는 차이가 있다.

내가 이상했던 몇가지 사항은 X11.app 를 단독 실행하면 같이 뜨는 xterm을 마음대로 뜨지 않게 바꾸는게 타이거와 다르다는 사실과 xterm에서 $PATH등의 환경변수가 잘 로딩되지 않는다는 사실이다.

잘 몰랐던 사실이지만 forums.macosxhints.com의 X11관련 게시판을 둘러보면 많은 정보를 얻을 수 있다. 거기 말로는 Leopard에서는 DISPLAY를 체크해서 X윈도우가 필요한 프로그램이 접근시 launchd가 자동으로 X11을 실행한다고 한다. 경로를 제대로 표현하는 경우를 해결해서 사용할 때는 터미널에서 xterm을 커맨드로 쳐서 실행하라고 한다.

처음에 뜨는 xterm을 뜨지 않게 하려면 노을러브님의 글처럼 User agents중 하나인 org.x.X11에서 app_to_run 값을 xterm에서 다른 적절한 것으로 바꾸어주면 된다.

그리고 path_helper: sometimes Apple does kludgy, stupid things와 Mastering the path_helper utility of MacOSX란 글을 보면 레퍼드에서 경로관리를 위한 path_helper란 스크립트를 잘 설명하고 있다.

그런데 Tom 의 사이트에 가 보면 MANPATH의 문제에 대해 언급이 되어 있다. 무엇이냐 하면 MANPATH가 선언되어 있을 경우 man.conf의 설정을 무시하게 되는 것이다. 그런데 이게 왜 문제가 되는가 하면 path_helper의 경우 PATH처럼 /etc/manpath 와 /etc/manpath.d의 파일들을 기준으로 MANPATH를 만들어 버리기 때문에 man.conf의 설정이 완전 무시된다. 그래서 man.conf의 조금 지능적인 MANPATH 설정과는 거리가 있는 MANPATH가 생성되게 된다. 해결책은 한 방향으로 쭉 사용하는 것이고 man.conf를 살리기 위해서는 initial 스크립트에서 MANPATH를 해제 하도록 넣어주면 된다.
Posted by trip2me
,
X관련 프로그램을 실행하기 위해서는 X11을 설치해야 한다.

그런데 실제 X11을 실행하면 따라서 xterm이 하나 같이 뜨게 된다.
실제 잘 사용하지 않을 수도 있는 저 작은 터미널을 뜨지 않게 하려면 아래의 방법을 쓰면 된다.
/etc/X11/xinit/xinitrc라는 기본 스크립트가 있다.
Xserver가 실행하면서 자동으로 실행하는 스크립트인데 만약 사용자의 홈디렉토리에
.xinitrc 파일이 있다면 위의 파일을 대신하게 된다.

따라서 위의 파일을 복사하고 역시나 안에 있었던 xterm & 부분을 제거하면
다음부터 X11 실행시 자신의 계정에서는 xterm이 뜨지 않게 된다.
이를 응용해 띄우고 싶은 다른 프로그램을 넣어주면 된다.
가령 iTerm을 띄우고 싶다면 기본으로 설치되는 디렉토리인 /Application/iTerm.app일 것이므로

open -a iTerm &

이렇게 설정해 주면 xterm대신 iTerm을 사용할 수 있다.
Posted by trip2me
,