다음 이전 차례

9. XFree86

9.1 XDM

XDM은 그래픽 환경의 터미널로 로그인 시에 많이 사용되는 방법이다. login 과 비슷하게 보일지 모르나 내부적으로는 완전히 다른것이다. 전과는 다른 로그인 과정을 실행하기 위한 설정파일들이 /etc/X11/xdm 디 렉토리에 있다. Xstartup (screen 0 는 Xstartup_0) 은 유저가 로그인한후 실행되는 명령들이 있다.(명령은 root 권한으로 실행되어진다) 유저들을 위한 path 는 /etc/X11/xdm/xdm-config 파일에 있다. 다음과 같은 라인들인데

DisplayManager*userPath: /usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games

DisplayManager*systemPath: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11

당연히 일반 사용자와 root를 위한 기본 path 가 될것이며 /usr/bin/X11 디 렉토리가 path에 걸려있다는 것에 주목하기 바란다. 만약에 X 유저가 다른 머신에 들어가 X 클라이언트 프로그램을 실행하기 위해서는 (X terminal로 부터 직접 로그인 하지 않았더라도..) /usr/bin/X11 이 path에 걸려있어야 한다.

Xstartup을 실행한후 XDM은 최종사용자로서 /etc/X11/Xsession을 실행 한다. /etc/environment 파일이 존재한다면 Xsession은 이 파일을 불러들 이고 로칼 설정은 이 파일에서 끝나게 된다.(Xsesion은 /bin/sh 에 의해 실 행되므로 /etc/environment 는 sh파일이어야 한다) 이 때문에 ssh를 사용할 경우 문제가 발생한다. ssh는 /etc/environment가 VAR=VALUE, 이런 형 식의 라인들이 들어가 있는 파일일 것이라 생각하기 때문이다.

9.2 xterm -ls

디폴트로 X window메니져 메뉴로부터 실행된 명령들을 위한 path는 XDM 으로부터 상속받은 것이다. 다른 path를 원한다면 직접 세팅해줘야 한다. 몇몇 기본적인 패스를 가지고 터미널 에뮬레이터를 시작하려면 특별한 옵션 들이 사용되어져야 한다. xterm에서는 -ls(login shell) 옵션을 사용하여 shell 로그인 초기화 파일의 path를 지닌 로그인 쉘을 기동할 수 있다.

9.3 Window manager menus and buttons

윈도우 메니져는 XDM으로부터 환경변수를 물려받는다. 윈도우 메니져로 부터 실행된 모든 프로그램들은 윈도우 메니져의 환경을 물려받는다. 사용자 쉘의 환경변수는 윈도우 메니져의 버튼이나 메뉴로부터 실행되는 프로그램에는 영향을 미치지 않는다. 예를들어, 'xterm -ls'에서 프로그램이 스타트 된다면 로그인 쉘의 기본 환경을 갖게 되나, 메뉴에서 실행된다면, 단지 윈도우 메니져의 환경만을 가질뿐이다.


다음 이전 차례