· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Linuxdoc Sgml/XFree86-HOWTO

The Linux XFree86 HOWTO

The Linux XFree86 HOWTO

by Eric S. Raymond

v5.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.helpnews:comp.os.linux.announcenews.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 배포판에 포함된 SuperProbe 프로그램을 이용해도 비디오 카드 칩셋을 알아낼 수 있는데 이것은 아래에서 자세히 설명하겠다.

Ark Logic

ARK1000PV, ARK1000VL, ARK2000PV, ARK2000MT

Alliance

AP6422, AT24

ATI

18800, 18800-1, 28800-2, 28800-4, 28800-5, 28800-6, 68800-3, 68800-6, 68800AX, 68800LX, 88800GX-C, 88800GX-D, 88800GX-E, 88800GX-F, 88800CX, 264CT, 264ET, 264VT, 264GT, 264VT-B, 264VT3, 264GT-B, 264GT3 (this list includes the Mach8, Mach32, Mach64, 3D Rage, 3D Rage II and 3D Rage Pro)

Avance Logic

ALG2101, ALG2228, ALG2301, ALG2302, ALG2308, ALG2401

Chips & Technologies

65520, 65525, 65530, 65535, 65540, 65545, 65546, 65548, 65550, 65554, 65555, 68554, 69000, 64200, 64300

Cirrus Logic

CLGD5420, CLGD5422, CLGD5424, CLGD5426, CLGD5428, CLGD5429, CLGD5430, CLGD5434, CLGD5436, CLGD5440, CLGD5446, CLGD5462, CLGD5464, CLGD5465, CLGD5480, CLGD6205, CLGD6215, CLGD6225, CLGD6235, CLGD6410, CLGD6412, CLGD6420, CLGD6440, CLGD7541(*), CLGD7543(*), CLGD7548(*), CLGD7555(*)

Cyrix

MediaGX, MediaGXm

Compaq

AVGA

Digital Equipment Corporation

TGA

Epson

SPC8110

Genoa

GVGA

IBM

8514/A (and true clones), XGA-2

IIT

AGX-014, AGX-015, AGX-016

Matrox

MGA2064W (Millennium), MGA1064SG (Mystique and Mystique 220), MGA2164W (Millennium II PCI and AGP), G100, G200

MX

MX68000(*), MX680010(*)

NCR

77C22(*), 77C22E(*), 77C22E+(*)

NeoMagic

2200, 2160, 2097, 2093, 2090, 2070

Number Nine

I128 (series I and II), Revolution 3D (T2R)

NVidia/SGS Thomson

NV1, STG2000, RIVA128, Riva TNT

OAK

OTI067, OTI077, OTI087

RealTek

RTG3106(*)

Rendition

V1000, V2x00

S3

86C911, 86C924, 86C801, 86C805, 86C805i, 86C928, 86C864, 86C964, 86C732, 86C764, 86C765, 86C767, 86C775, 86C785, 86C868, 86C968, 86C325, 86C357, 86C375, 86C375, 86C385, 86C988, 86CM65, 86C260

SiS

86C201, 86C202, 86C205, 86C215, 86C225, 5597, 5598, 6326

3DLabs

GLINT 500TX, GLINT MX, Permedia, Permedia 2, Permedia 2v

Tseng

ET3000, ET4000AX, ET4000/W32, ET4000/W32i, ET4000/W32p, ET6000, ET6100

Trident

TVGA8800CS, TVGA8900B, TVGA8900C, TVGA8900CL, TVGA9000, TVGA9000i, TVGA9100B, TVGA9200CXR, Cyber9320(*), TVGA9400CXi, TVGA9420, TGUI9420DGi, TGUI9430DGi, TGUI9440AGi, TGUI9660XGi, TGUI9680, ProVidia 9682, ProVidia 9685(*), Cyber 9382, Cyber 9385, Cyber 9388, 3DImage975, 3DImage985, Cyber 9397, Cyber 9520

Video 7/Headland Technologies

HT216-32(*)

Weitek

P9000, P9100

Western Digital/Paradise

PVGA1

Western Digital

WD90C00, WD90C10, WD90C11, WD90C24, WD90C24A, WD90C30, WD90C31, WD90C33

(*) 표시가 있는 칩셋은 제한적으로 지원되거나 지속적인 드라이버 지원이 이루어지지 않는 것들이다.

위에 나열된 카드는 모두 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 배포판에는 다음에 나와 있는 파일들이 들어있을 것이다.

다음의 서버중의 하나가 필요하다:

X8514.tgz

Server for 8514-based boards.

XAGX.tgz

Server for AGX-based boards.

XI128.tgz

Server for the Number Nine Imagine 128.

XMach32.tgz

Server for Mach32-based boards.

XMach64.tgz

Server for Mach64-based boards.

XMach8.tgz

Server for Mach8-based boards.

XMono.tgz

Server for monochrome video modes.

XP9K.tgz

Server for P9000-based boards.

XS3.tgz

Server for S3-based boards.

XS3V.tgz

Server for the S3 ViRGE and ViRGE/VX (considered beta)

XSVGA.tgz

Server for Super VGA-based boards.

XW32.tgz

Server for ET4000/W32-based boards.

만약 어느 것을 택해야할지 모른다면 VGA16 서버인 XVG16.tgz를 선택한다. 다음 단계에서 자동설정 유틸리티를 실행하려면 이것이 필요하므로 어쨌거나 이것을 다운로드해야만 한다.

다음의 파일은 모두 필요한 것들이다.

preinst.sh

Pre-installation script

postinst.sh

Post-installation script

Xbin.tgz

The rest of the X11R6 binaries.

Xcfg.tgz

Config files for xdm, xinit and fs.

Xdoc.tgz

Documentation.

Xman.tgz

Manual pages.

Xfnts.tgz

75dpi, misc and PEX fonts

Xlib.tgz

Shared X libraries and support files.

Xset.tgz

XF86Setup utility.

XVG16.tgz

Server for VGA/EGA-based boards.

다음 파일들은 선택사항이다.

Xf100.tgz

100dpi fonts

Xfcyr.tgz

Cyrillic fonts

Xfnon.tgz

Other fonts (Chinese, Japanese, Korean, Hebrew)

Xfscl.tgz

Scalable fonts (Speedo and Type1)

Xfsrv.tgz

Font server and config files

Xprog.tgz

X header files, config files and compile-time libs

Xlkit.tgz

X server LinkKit

Xlk98.tgz

PC98 X server LinkKit

Xnest.tgz

Nested X server

Xprt.tgz

X print server

Xvfb.tgz

Virtual framebuffer X server

Xps.tgz

PostScript version of the documentation

Xhtml.tgz

HTML version of the documentation

XFree86 디렉토리는 현재 버전에 대한 배포 설명서를 RELNOTES에 포함 하고 있을 것이다. 자세한 설치사항은 그것을 참고한다.

XFree86을 설치하기 위해서는 위에 나열된 파일들이 필요하며 /usr/X11R6 디렉토리를 만들어서 (root 권한으로) 이 파일들을 /usr/X11R6에서 다음과 같이 풀어야 한다.

gzip -dc Xbin.tgz | tar xfB -
이 파일들은 /usr/X11R6에서 묶었으므로 다시 그곳에서 풀어야 한다는 점을 잊지말 것.

/usr/X11R6/bin 디렉토리가 패스경로로 지정되어 있어야 한다. 이를 위해서는 시스템 디폴트인 /etc/profile이나 /etc/csh.login (당신이나 타 사용자가 쓰는 쉘에 따라 다르다)를 편집한다. 단순히 당신의 쉘에서 쓰는 .bashrc.cshrc를 수정해서 그 디렉토리를 각자의 패스경로에 추가해도 된다.

또한 /usr/X11R6/lib 디렉토리가 런타임 링커인 ld.so에 의해 위치 지정이 되도록 해야 하는데, 이를 위해서는

/usr/X11R6/lib

/etc/ld.so.conf 파일에 추가하고 root로서 /sbin/ldconfig를 실행한다.

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 문서 가운데 모니터에 관한 파일을 찾아보기 바란다.

5. XFree86 실행하기

XF86Config 파일 설정을 다 마쳤다면 이제 X 서버를 띄워 테스트해 볼 차례다. 먼저 /usr/X11R6/bin 디렉토리가 패스에 걸려 있어야 한다.

XFree86을 시작하는 명령은

startx
이다. 이것은 xinit에 해당한다 (다른 유닉스 시스템에서 xinit를 써봤다면 알 것이다).

이 명령은 X 서버를 시작하고 home 디렉토리에 있는 .xinitrc 파일에 들어있는 명령을 실행한다. .xinitrc는 실행할 X 클라이언트를 담고있는 일종의 쉘이다. 이 파일이 존재하지 않는다면 디폴트인 /usr/X11R6/lib/X11/xinit/xinitrc가 대신 쓰인다.

보통 .xinitrc 파일은 아래와 같다.

#!/bin/sh

xterm -fn 7x13bold -geometry 80x32+10+50 &
xterm -fn 9x15bold -geometry 80x34+30-10 &
oclock -geometry 70x70-7+7 &
xsetroot -solid midnightblue &

exec fvwm2

이 스크립트는 두 개의 xterm 클라이언트와 oclock을 시작하고 배경색을 midnightblue로 설정한다. 그리고 윈도우 매니저인 fvwm2를 시작한다. fvwm2는 쉘의 exec 문장에 의해 실행된다는 점을 주목하자. 이것은 xinit 프로세스가 fvwm2에 의해 대치되도록 한다. 일단 fvwm2 프로세스가 종료하면 X 서버가 셧다운하게 된다. fvwm2를 종료시키려면 root 메뉴를 쓰면된다. 데스크탑 배경에서 마우스 1번 버튼을 누르면 Exit Fvwm2 팝업 메뉴가 나타난다.

.xinitrc의 마지막 명령이 exec로 시작된다는 것과 이것이 백그라운드로 실행되는 것이 아니라는 점을 확인하자 (끝에 &가 없다). 그렇지 않으면 X 서버가 .xinitrc 파일의 클라이언트를 시작하자마자 셧다운하고 말 것이다.

ctrl-alt-backspace를 누름으로써 X를 종료할 수도 있다. 이렇게하면 즉시 X를 끝내고 윈도우 시스템을 빠져나올 수 있다.

위의 것들은 아주 간단한 데스크탑 설정이다. .xinitrc 파일을 조금 손보면 많은 멋진 프로그램들과 시스템 설정이 가능하다.

X 윈도우 시스템 환경을 처음대하는 초보자에게는 The Joy of X: An Overview of the X Window System by Niall Mansfield (Addison-Wesley 1993, ISBN 0201-565129) 같은 책을 강력히 추천하는 바이다. X의 사용과 설정은 여기서 다루기엔 벅찬 내용이다. 처음엔 xterm, oclock, fvwm2 등에 대한 맨페이지를 보는 것이 도움이 될 것이다.

5.1 사용 제한

이 글의 저작권은 Eric. S Raymond에게 있다. 다음 사항만 준수한다면 마음대로 사용할 수 있고 복사해 써도 된다.

  • 본 저작권에 대한 명시를 생략하거나 변경할 수 없다.
  • 문서버전과 작성날짜를 생략하거나 변경할 수 없다.
  • 현재의 웹버전을 나타낸 부분을 생략하거나 변경할 수 없다.
  • 요약한 부분이나 변경한 곳을 확실히 표시한다.

이러한 사항들은 독자들이 구닥다리 버전이나 엉터리 버전을 읽게 되는 것을 방지하기 위해서다. 예외가 필요한 경우엔 본인에게 요청하면 된다.

5.2 감사의 말

처음에 이 글의 윤곽을 잡는데에 Matt Welsh의 도움이 컸다. Matt에게 감사하는 바이다.

6. 번역판




sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2003-08-10 11:52:30
Processing time 0.0266 sec