The Linux XFree86 HOWTOby Eric S. Raymondv5.12, 12 May 1999 번역: 조일환,이 글에서는 리눅스용 X 윈도우 시스템 (X11R6)의 XFree86 버전 3.3을 어떻게 구할 수 있는지, 어떻게 설치하고 여러가지 설정을 마칠 수 있는지 설명한다. 이 글은 시스템에 XFree86을 설치하는 단계별 가이드가 될 것이다. 1. 소개X 윈도우 시스템은 유닉스 시스템을 위한 크고 강력한 그래픽 환경이다 (혹자는 필요 이상으로 크고 복잡하다고 말할 수도 있겠다). 원래의 X 윈도우 시스템 코드는 MIT에서 개발되었는데 그 때부터 유닉스 플랫폼의 표준으로 상업화되었다. 현재 전세계의 거의 모든 유닉스 워크스테이션에서는 조금씩 변형된 형태의 X 윈도우 시스템을 운영하고 있다. 자유롭게 배포할 수 있는 80386/80486/펜티엄 유닉스 시스템용 X 윈도우 시스템 버전 11, 릴리즈 6 (X11R6)은 David Wexelblat <dwex@XFree86.org>가 이끄는 프로그래머 팀에 의해 개발된 것이다. 이것은 XFree86이라고 불리우며 리눅스를 포함해서 System V/386, 386BSD 그 외 다른 x86 유닉스에서 쓸 수 있고 모든 이진파일, 지원파일, 라이브러리, 툴을 포함하고 있다. XFree86에 대한 자세한 정보는 XFree86 웹사이트인 http://www.XFree86.org에서 구하면 된다. 이 글에서 리눅스용 XFree86을 어떻게 설치하고 설정할 것인지 단계적으로 자세히 설명하겠지만 일부 세세한 사항은 XFree86과 함께 배포된 문서를 읽어보고 사용자가 직접 해야만 할 것이다 (이 문서에 대해서는 아래에서 설명한다). 또한 X 윈도우 시스템을 사용한다든지 최적화하는 문제는 이 글의 수준을 훨씬 뛰어넘는 일이므로 그러한 것이 필요하다면 X 윈도우 시스템 사용법을 다룬 다른 책을 참고하면 된다. 1.1 정보를 얻을 수 있는 곳리눅스에 대해 들어본 적이 없는 경우 기본 지식을 얻기에 가장 좋은 곳이 http://metalab.unc.edu/LDP에 있는 리눅스 문서 프로젝트 홈페이지다. http://metalab.unc.edu/LDP/HOWTO/XFree86-HOWTO.html 같은 본 문서의 최신 버전을 여기서 구할 수 있다. 1.2 이 문서의 최신 버전리눅스 XFree86 HOWTO 새 버전이 comp.os.linux.help와 news:comp.os.linux.announce 와 news.answers에 주기적으로 올려질 것이며 LDP 홈페이지와 여러 리눅스 웹 사이트와 FTP 사이트에도 업로드될 예정이다. http://metalab.unc.edu/LDP/HOWTO/XFree86-HOWTO.html에 접속하면 언제든지 최신 버전을 볼 수 있다. 1.3 의견이나 고칠 점이 있으면...질문이나 의견이 있으면 언제든지 Eric S. Raymond에게 esr@thyrsus.com로 메일을 보내면 된다. 제안이나 비평도 좋으며, 혹시 잘못된 부분이 있을 경우 알려주면 다음 버전에서 수정하도록 하겠다. 특정 비디오 카드나 모니터에서 어떻게 X 를 띄울 수 있는가 등등의 질문은 하지 말기 바란다. 보통의 일반적인 설치에 있어서 새로운 대화식 설치 프로그램으로 손쉽고 빠르게 설치하는 법을 설명하는 것이 이 글의 목적이다. 설치시 문제가 있을 경우엔 http://metalab.unc.edu/LDP/HOWTO/XFree86-Video-Timings-HOWTO.html 같은 XFree86 Video Timings HOWTO를 보면 된다 (이것은 XFree86의 Videomodes.doc 파일의 최신 HTML 버전이다). 내가 아는 한 설치문제에 대한 모든 것을 담고 있는 문서로서 만약 여기에 나와있지 않으면 나로서도 해결 방법이 없다. 2. 하드웨어 요구사양현재 XFree86 3.3.3은 다음의 비디오 칩셋을 지원한다. 비디오 카드에 사용된 칩셋명은 비디오 카드 구입시 동봉된 설명서에 나와 있을 것이다. 새로 비디오 카드를 구입하거나 비디오 카드가 이미 장착되어 있는 컴퓨터를 새로 구입하는 경우라면 정확한 제조업체명과 모델명, 칩셋명을 구입처에 문의한다. 대개의 구입처에서는 필요하면 제조업체에 문의해서라도 알려줄 것이다. 보통 제조업체 측에서는 그냥 표준 SVGA 카드라고 하면서 당연히 작동에 이상없을 것이라는 식으로 말하기도 하는데 이럴 경우엔 리눅스와 XFree86을 쓰려고 한다는 점을 밝히고 지원하지 않는 카드가 있으므로 자세한 정보가 필요하다는 점을 설명해야 한다. XFree86 배포판에 포함된
(*) 표시가 있는 칩셋은 제한적으로 지원되거나 지속적인 드라이버 지원이 이루어지지 않는 것들이다. 위에 나열된 카드는 모두 256 컬러를 지원하고, 어떤 것들은 모노와 16 컬러 모드가 지원되며 어떤 것들은 더 높은 컬러를 지원한다. 모노크롬 서버는 단일 뱅크의 64k 비디오 메모리를 사용하는 일반적인 VGA 카드와 허큘리스 모노크롬 카드, 현대 HGC1280, Sigma LaserView, Visa와 Apollo 모노크롬 카드를 지원한다. VGA16 서버는 1600x1200까지의 가상 디스플레이가 가능한 ET4000, Trident, ATI, NCR, OAK and Cirrus 6420 칩셋의 메모리 뱅킹을 지원한다. (1MB 비디오 메모리 필요) 다른 칩셋의 경우 대략 800x600 까지 지원된다. 지원되는 카드에 대한 최신 리스트는 http://www.xfree86.org/3.3.3/README3.html 이들 칩셋을 사용하는 비디오 카드는 VLB와 PCI를 포함, 모든 버스 타입에서 지원된다. XFree86 개발자가 직면한 문제중의 하나는 일부 비디오 카드 제조업체에서 카드 클럭 주파수를 결정하는 데에 비표준 방식을 이용한다는 것이다. 이들중 일부는 프로그래밍에 필요한 카드 사양을 공개하지 않거나, 카드 정보 공개에 있어서 개발자들에게 비공개 원칙에 대한 동의를 요구하기도 한다. 이것은 분명 XFree86의 자유로운 배포를 제한하는 일이며 이것은 XFree86 개발팀이 원치않는 일이다. 오랫동안 Diamond사의 비디오 카드에 있어서 이러한 문제가 있었지만 XFree86 release 3.1 이후로 Diamond사는 개발팀과 협력하기 시작하여 자사 카드의 공개 드라이버를 발표하였다. 리눅스에서 XFree86을 위한 권장사양은 위에 나온 칩셋을 쓴 비디오 카드와 최소 8 MB의 램을 갖춘 486 이상이다. 최적의 실행을 위해서는 S3 칩셋 카드와 같은 가속카드를 쓰는 것이 좋다. 값비싼 하드웨어를 구입하는 모험을 하기 전에 XFree86 문서를 참고하여 지원여부를 확인해야 한다. 한가지 사족을 달자면 Matt Welsh (이 FAQ를 만든 사람)이 쓰던 리눅스 시스템은 20MB RAM과 2MB의 DRAM이 달린 VLB S3-864 칩셋 카드가 장착된 486DX-66이었다. 그는 X 성능테스트를 이 시스템과 Sun Sparc IPX 워크스테이션에서 수행했는데 그의 리눅스 시스템이 Sparc IPX보다 대략 7배 정도 더 빨랐다 (궁금한 분들을 위해 설명하자면, 이 비디오 카드가 장착된 리눅스 상의 XFree86-3.1이 작동하는 속도는 약 171,000 xstone이며 Sparc IPX는 약 24,000 xstone이다). 일반적으로 SVGA 가속카드를 쓰는 리눅스 시스템상의 XFree86이 상용 유닉스 워크스테이션 (보통 그래픽을 위해 단순 프레임버퍼를 채용하는) 보다 훨씬 빠른 수행 능력을 보여준다. 시스템은 최소 4MB의 물리적 램과 16MB의 가상 램 (예를 들자면 8MB의 물리적 램과 8MB의 스왑영역)을 가지고 있어야 한다. 메모리 부족시에 물리적 램이 더 많을수록 시스템의 디스크 스왑이 더 적어진다는 점을 기억해야 한다. 스왑은 본질적으로 느리기 때문에 (디스크는 메모리에 비해 훨씬 느리다) XFree86을 원활히 사용하기 위해 8MB나 그 이상의 램이 필요하다. 16MB면 더 좋을 것이다. 4MB의 물리적 램을 가진 시스템은 8MB 이상의 램을 가진 시스템보다 훨씬 (최고 10배까지) 느리다. 3. XFree86 설치하기아마도 독자는 리눅스 배포판에 포함된 XFree86을 갖고 있을 텐데, 이 경우 XFree86을 따로 다운로드할 필요가 없다. 아니면 각자의 시스템에 맞는 RPM 바이너리 패키지를 구할 수 있을 것이다. 이 경우엔 rmp(1)을 써서 설치할 수 있다. 어느 쪽이든 이 절의 나머지는 건너뛰어도 된다. XFree86의 이진파일 형태의 리눅스 배포본은 많은 FTP 사이트에서 찾을 수 있다. XFree86 사이트에서는 이것이 ftp://ftp.xfree86.org/pub/XFree86/current/binaries/에 있다. 다운로드한 뒤에 가장 먼저 해야할 것은 'preinst.sh' 쉘 스크립트를 실행하는 것이다. 이 과정은 설치를 계속하기 전에 필요한 사항들을 알려줄 것이다. 직접 XFree86을 다운로드하는 경우라면 XFree86-3.3 배포판에는 다음에 나와 있는 파일들이 들어있을 것이다. 다음의 서버중의 하나가 필요하다:
다음의 파일은 모두 필요한 것들이다.
다음 파일들은 선택사항이다.
XFree86 디렉토리는 현재 버전에 대한 배포 설명서를 XFree86을 설치하기 위해서는 위에 나열된 파일들이 필요하며
이 파일들은 /usr/X11R6 에서 묶었으므로 다시 그곳에서 풀어야 한다는 점을
잊지말 것.
또한
을 4. XFree86 설정4.1 일반 설정마우스와 모니터, 비디오 카드를 제대로 쓰기위해 XFree86을 설정하는 것은
복잡한 설정 파일을 일일히 손으로 고쳐야 하는 방대한 작업을 요하는 일종의
마술쇼와도 같은 일이었다. 그러나 이제는 그렇게 어려운 작업은 필요하지
않다. 릴리즈 3.2/3.3에서는 설정이 아주 간단해졌다. 그냥 이 프로그램은 요즈음의 하드웨어가 모두 EGA/VGA를 장착하고 있기 때문에 가능했다. 이 프로그램은 SVGA16 서버를 호출하고 모든 시스템에 있어서 공통적으로 지원되는 640x480 모드에서 X를 띄운다. 그리고 마우스, 키보드, 비디오 카드, 모니터 그리고 기타 여러가지 서버 옵션의 다섯 가지 설정 패널을 가진 대화식 프로그램을 실행한다. 어려운 점은 없을 것이다. (레드햇을 쓰고 있는 경우라면 한가지 알아두어야 할 것은 당신이 대부분의 PC 사용자와 마찬가지라면 당신의 키보드는 XF86Setup 프로그램에서 디폴트인 'Generic 101-key PC'가 아니라 'Generic 102-key PC (intl)'이라는 것이다. 만약 디폴트(101)을 선택하면 키보드 맨 오른쪽에 있는 키들 (숫자키 같은 것들)이 작동하지 않게 된다. 만약 모니터 종류를 잘 모르면 열거된 종류들을 차례로 시험해보면 된다. 위에 있는 것부터 시작해서 아래로 순서대로 시험한다 (윗쪽에 있는 것일수록 낮은 도트 클럭 스피드를 가지고 있으므로 보다 적은 하드웨어 사양을 요구한다). 화면이 이상해지거나 그림이 왜곡되는 경우엔 중지하고 낮은 쪽을 선택한다. 왜곡이 심하지 않은 경우는 괜찮다 (그림이 조금 너무 크다든지, 조금 작다든지, 중심에서 약간 치우쳐 있다든지). 모드를 미세 조정하면 이런 것들을 고칠 수 있다. 셋업 프로그램이 비디오 모드를 조정하기 위해 XF86Config가 마우스 디바이스를 /dev/mouse로 가정하는 경우가 있다. 이렇게
해서 잘 안될 경우엔 마우스가 있는 아무 /dev/ca[01]에나 링크하도록 한다.
설정 프로세스는 비디오 카드의 타입에 맞는 서버 ( XFree86의 구형 버전에서는 4.2 문제 해결간혹 처음으로 X 서버를 실행시켰을 때 다소 이상이 있는 경우가 있다. 이것은
대개 설정파일에 문제가 있기 때문이다. 보통은 모니터 타이밍 값이 잘못됐거나
비디오 카드의 도트 클럭이 잘못 설정되었기 때문이다. 간단한 문제라면
화면이 흔들리는 것 같은 경우나 가장자리가 이상한 현상은 모니터 타이밍
값이나 도트 클럭이 잘못되었음을 말해준다. 그래도 안된다면 한번 X의 시작 상황을 "적나라하게" 드러내보자. 다음의 명령을 쓰면된다.
X > /tmp/x.out 2>&1
그리고 X 서버를 죽인다 (ctrl-alt-backspace 를 써서). 그리고 /tmp/x.out 의
내용을 조사한다. X 서버가 낸 경고나 에러메시지가 있을 것이다. 예를 들어
비디오 카드가 모니터가 지원하는 모드에 대응하는 도트 클럭을 가지고 있지
않다든지 하는 등의...
모니터의 수직/수평 크기및 위치 조절 스위치도 확인해 본다. X를 띄울 때 이것을 조정해야 하는 경우도 많다. 예를 들어 화면이 한쪽으로 조금 치우쳐 보인다면 모니터에서 쉽게 조정할 수 있다. 유즈넷 뉴스그룹 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 항목을 더 낮은 리프레쉬율로 고쳐주어야 한다. 예를 들어
와 같이 되어있는 것을 다음과 같이 바꾼다.
여기서 75와 65는 각각 X가 .X.err 파일에 저장해 놓은 숫자들이다. 16비트
컬러모드에서 비디오 카드가 낼 수 있는 최대 클럭에 맞는 Modeline 설정에
관해서는 XF86 문서 가운데 모니터에 관한 파일을 찾아보기 바란다.
5. XFree86 실행하기
XFree86을 시작하는 명령은
이다. 이것은 xinit 에 해당한다 (다른 유닉스 시스템에서 xinit 를 써봤다면 알
것이다).
이 명령은 X 서버를 시작하고 home 디렉토리에 있는 보통
이 스크립트는 두 개의
또 위의 것들은 아주 간단한 데스크탑 설정이다. X 윈도우 시스템 환경을 처음대하는 초보자에게는
The Joy of X: An Overview of the X Window System by Niall Mansfield
(Addison-Wesley 1993, ISBN 0201-565129) 같은 책을 강력히 추천하는 바이다. X의
사용과 설정은 여기서 다루기엔 벅찬 내용이다. 처음엔 5.1 사용 제한이 글의 저작권은 Eric. S Raymond에게 있다. 다음 사항만 준수한다면 마음대로 사용할 수 있고 복사해 써도 된다.
이러한 사항들은 독자들이 구닥다리 버전이나 엉터리 버전을 읽게 되는 것을 방지하기 위해서다. 예외가 필요한 경우엔 본인에게 요청하면 된다. 5.2 감사의 말처음에 이 글의 윤곽을 잡는데에 Matt Welsh의 도움이 컸다. Matt에게 감사하는 바이다. 6. 번역판
|
You are a bundle of energy always on the go. |