다음 이전 차례

4. XFree86 설정

4.1 일반 설정

마우스와 모니터, 비디오 카드를 제대로 쓰기위해 XFree86을 설정하는 것은 복잡한 설정 파일을 일일히 손으로 고쳐야 하는 방대한 작업을 요하는 일종의 마술쇼와도 같은 일이었다. 그러나 이제는 그렇게 어려운 작업은 필요하지 않다. 릴리즈 3.2/3.3에서는 설정이 아주 간단해졌다. 그냥 XF86Setup만 실행하면 된다.

이 프로그램은 요즈음의 하드웨어가 모두 EGA/VGA를 장착하고 있기 때문에 가능했다. 이 프로그램은 SVGA16 서버를 호출하고 모든 시스템에 있어서 공통적으로 지원되는 640x480 모드에서 X를 띄운다. 그리고 마우스, 키보드, 비디오 카드, 모니터 그리고 기타 여러가지 서버 옵션의 다섯 가지 설정 패널을 가진 대화식 프로그램을 실행한다. 어려운 점은 없을 것이다.

(레드햇을 쓰고 있는 경우라면 xf86config라는 프로그램이 있을 것이다. 이것은 XF86Setup과 비슷하지만 X 인터페이스와 VGA16 서버를 쓰지 않는다)

한가지 알아두어야 할 것은 당신이 대부분의 PC 사용자와 마찬가지라면 당신의 키보드는 XF86Setup 프로그램에서 디폴트인 'Generic 101-key PC'가 아니라 'Generic 102-key PC (intl)'이라는 것이다. 만약 디폴트(101)을 선택하면 키보드 맨 오른쪽에 있는 키들 (숫자키 같은 것들)이 작동하지 않게 된다.

만약 모니터 종류를 잘 모르면 열거된 종류들을 차례로 시험해보면 된다. 위에 있는 것부터 시작해서 아래로 순서대로 시험한다 (윗쪽에 있는 것일수록 낮은 도트 클럭 스피드를 가지고 있으므로 보다 적은 하드웨어 사양을 요구한다). 화면이 이상해지거나 그림이 왜곡되는 경우엔 중지하고 낮은 쪽을 선택한다. 왜곡이 심하지 않은 경우는 괜찮다 (그림이 조금 너무 크다든지, 조금 작다든지, 중심에서 약간 치우쳐 있다든지). 모드를 미세 조정하면 이런 것들을 고칠 수 있다.

셋업 프로그램이 비디오 모드를 조정하기 위해 xvidtune를 실행하는 경우 초기화면의 경고 메시지에 너무 걱정할 필요는 없다. 요즘의 멀티싱크 모니터는 (이전의 고정 주파수 모델과 달리) 그렇게 쉽게 망가지지 않는다.

XF86Config가 마우스 디바이스를 /dev/mouse로 가정하는 경우가 있다. 이렇게 해서 잘 안될 경우엔 마우스가 있는 아무 /dev/ca[01]에나 링크하도록 한다. gpm을 실행할 때 "mouse busy" 에러가 나는 경우엔 /dev/ttyS[01]에 링크한다.

설정 프로세스는 비디오 카드의 타입에 맞는 서버 (XF86_VGA16, XF86_Mach64, or XF86_S3)를 선택하고 그 서버가 설치를 위한 변수값들을 찾기위해 시작시에 읽을 XF86Config를 설정함으로써 이루어진다. XF86Config의 위치는 OS에 따라 다르지만 주로 /etc/X11 같은 곳에 있다.

XFree86의 구형 버전에서는 XF86Setup이 'X' 명령을 곧바로 선택된 서버에 링크한다. 최근 버전에서는 Xwrapper라는 set-user-id wrapper 프로그램에 링크 한다. 이는 모든 setuid root 관련 사항이 Xwrapper에 집중되어 서버가 setuid root를 실행할 필요가 없는 것이다.

4.2 문제 해결

간혹 처음으로 X 서버를 실행시켰을 때 다소 이상이 있는 경우가 있다. 이것은 대개 설정파일에 문제가 있기 때문이다. 보통은 모니터 타이밍 값이 잘못됐거나 비디오 카드의 도트 클럭이 잘못 설정되었기 때문이다. 간단한 문제라면 xvidtune으로 고칠 수 있다. 화면이 심하게 왜곡되는 경우엔 다시 XF86Setup을 실행해서 좀 더 낮은 모니터를 선택한다.

화면이 흔들리는 것 같은 경우나 가장자리가 이상한 현상은 모니터 타이밍 값이나 도트 클럭이 잘못되었음을 말해준다. XF86Config의 디바이스 옵션뿐만 아니라 비디오 카드 칩셋이 맞게 설정되었는지 확인한다. 올바른 X 서버를 선택했는지 그리고 /usr/X11R6/bin/X가 서버에 심볼릭 링크되었는지 반드시 확인하는 것이 절대적으로 중요하다.

그래도 안된다면 한번 X의 시작 상황을 "적나라하게" 드러내보자. 다음의 명령을 쓰면된다.

X > /tmp/x.out 2>&1
X > /tmp/x.out 2>&1 그리고 X 서버를 죽인다 (ctrl-alt-backspace를 써서). 그리고 /tmp/x.out의 내용을 조사한다. X 서버가 낸 경고나 에러메시지가 있을 것이다. 예를 들어 비디오 카드가 모니터가 지원하는 모드에 대응하는 도트 클럭을 가지고 있지 않다든지 하는 등의...

XF86ConfigScreen 부분에 나온 비디오 모드간의 전환을 하려면 ctrl-alt-숫자키패드 +ctrl-alt-숫자키패드 -를 쓸 수 있다. 고해상도에서 화면이 잘 안나올 경우 저해상도로 전환해본다. 이를 통해 최소한 X 설정사항 이 제대로 작동하고 있는지는 알 수가 있다.

모니터의 수직/수평 크기및 위치 조절 스위치도 확인해 본다. X를 띄울 때 이것을 조정해야 하는 경우도 많다. 예를 들어 화면이 한쪽으로 조금 치우쳐 보인다면 모니터에서 쉽게 조정할 수 있다.

유즈넷 뉴스그룹 comp.windows.x.i386unixcomp.os.linux.x에서는 XFree86에 대해 주로 논의한다. 여기서 비디오 설정사항에 관련된 게시물을 찾아보는 것도 좋다. 잘하면 똑같은 문제가 발생한 경우를 찾아 볼 수 있다.

4.3 사용자 설정

모니터가 1600x1200을 지원하는 경우 최적의 성능을 위해서는 X 설정을 직접 손으로 고칠 수 있어야 한다. XFree86Setup이 지원하는 최고 해상도는 1280x1024이다.

이런 이유 등으로 직접 비디오 설정을 고치려 할 경우 LDP의 비디오 타이밍 하우투 http://metalab.unc.edu/LDP/HOWTO/XFree86-Video-Timings-HOWTO.html 를 찾아보자 (이것은 XFree86의 `Videomodes.doc' 파일의 최신 HTML 버전이다).

4.4 16비트 컬러 사용

X는 기본적으로 256색의 8비트 컬러를 사용한다. 이러한 제한을 극복하기 위해 많은 응용 프로그램이 고유의 컬러맵을 쓰는데, 서로 다른 컬러맵을 쓰는 윈도우 사이를 마우스 포인터가 움직이는 경우 갑작스런 색상변화를 일으키기도 한다. Arena 웹 브라우저의 경우가 그렇다.

그러나 좀더 나은 그래픽 응용 프로그램을 쓰는데는 256색으로는 충분치가 않다. 이런 경우 16비트 컬러 (65536색)를 사용할 수 있다. 단, 어떤 응용 프로그램은 16비트 컬러에서 돌아가지 않을 수 있다.

16비트 컬러모드를 쓰려면 X를 띄울 때 다음과 같이 옵션을 주거나


    startx -- -bpp 16

.xserverrc 파일에 다음을 추가하면 6만5천가지 색의 16비트 컬러를 사용할 수 있다.


    exec X :0 -bpp 16

이렇게 하려면 XF86Config의


screen

섹션에


    DefaultColorDepth 16

라고 되어 있어야 한다.

xdm을 쓰고 있으면 Xservers 파일을 고칠 필요가 있는데 이것은 /etc/X11/xdm/에 있을 것이다. 이것은 보통 밑에 나와있는 것처럼 주석이 붙지 않은 행으로 되어있다.


      :0 local /usr/X11R6/bin/X

시작 옵션에


-bpp 16

을 주어서


      :0 local /usr/X11R6/bin/X -bpp 16

와 같이 한다.

그리고 X config의 'screen' 섹션에 디스플레이 항목을 추가해서 16비트 컬러 를 지정해야 한다.

더 많은 색상을 쓸수록 비디오 카드는 같은 시간동안 더 많은 데이터를 주고 받아야 한다. 비디오 카드가 이를 받쳐주지 못할 경우엔 해상도나 리프레쉬율을 낮추는 방법밖엔 없다. XFree는 이 경우 해상도를 낮추도록 기본설정되어 있다. 해상도를 그대로 유지하고 대신 리프레쉬율을 낮추고 싶을 때는 그 해상도에 해당하는 XF86Config 파일의 Modeline 항목을 더 낮은 리프레쉬율로 고쳐주어야 한다. 예를 들어

Modeline "1024x768"  75  1024 1048 1184 1328 768 771 777 806 -hsync -vsync
와 같이 되어있는 것을 다음과 같이 바꾼다.
Modeline "1024x768"  65  1024 1032 1176 1344 768 771 777 806 -hsync -vsync.
여기서 75와 65는 각각 X가 .X.err 파일에 저장해 놓은 숫자들이다. 16비트 컬러모드에서 비디오 카드가 낼 수 있는 최대 클럭에 맞는 Modeline 설정에 관해서는 XF86 문서 가운데 모니터에 관한 파일을 찾아보기 바란다.


다음 이전 차례