|
X 윈도우는 MIT(Massachusetts Institute of Techonology)에서 개발된 그래픽 사용자 환경입니다. 여러면에서 X 윈도우는 이전의 M$ 윈도우와 비교되곤 합니다. DOS 위에서 작동하는 M$의 윈도우와 마찬가지로, X 윈도우 역시 UNIX나 UNIX-Like (리눅스가 대표적이죠?) 운영체제 위에서 작동합니다. 하지만, X 윈도우는 화면에 그림을 뿌려주는 간단한 프로그램입니다. 대신 윈도우 매니저(WindowMaker, Sawfish, Enlightenment등)가 화면에 보여지는 것을 제어하고, 많은 옵션들과 기능들을 제공합니다. 윈도우 매니저에 대해서는 뒷부분에서 다룰 것입니다.
근래의 리눅스 모든 배포판들은 XFree86이라고 불리우는 공개 X 서버 프로그램을 대부분 제공합니다. XFree86 은 XFree86 프로젝트 비영리 단체에서 관리하고 있습니다. (http://www.xfree86.org에 접속하면 XFree86 에 대해 더 많은 정보를 얻을 수 있습니다.) XFree86 은 바이너리와 보조파일과 라이브러리, 그리고 설치에 필요한 툴까지 모든 것을 포함하고 있습니다. 그리고 많은 플랫폼(V/i386/386 BSD, 기타 Intel x86 유닉스 등)에서 작동하고 있습니다. 상업적으로 판매되고 있는 X 서버 프로그램들도 있습니다. Accelerated-X (Xi Graphics에서 구할 수 있음), Metro-X (MetroLink 에서 제공함)등이 있습니다.
[Accelerated-X] |
http://www.xfree.org 에서 더 많은 정보를 구할 수 있습니다.
X 서버 프로그램은 화면과 입력장치(키보드,마우스)등을 제어합니다. startx 라고 명령을 내림으로서 실행할 수 있습니다. X 클라이언트는 X 서버의 입출력에 이용할 수 있습니다. 데스크탑과 윈도우매니저 또한 X 서버의 클라이언트일 뿐입니다. X의 이 훌륭한 특징은 각 클라이언트들이 네트워크상의 어떠한 머신에서도 실행될 수 있다는 것을 말하기도 합니다. (X 서버가 동작하고 있는 머신도 포함해서) X 서버에 의해 관리되는 윈격 웍스테이션은 각각의 입출력을 가지고 있습니다. 원격 머신에 접근하기 위해서는, Remote X Apps mini-HOWTO를 참고하세요.
http://metalab.unc.edu/LDP/HOWTO/mini/Remote-X-Apps.html
http://kldp.org/HOWTO/mini/html/Remote-X-Apps/Remote-X-Apps.html
XFree86 윈도우 시스템을 제대로 설치하기 위해서는 가지고 있는 하드웨어 대한 정보를 가지고 있어야 합니다. XFree86 프로젝트에서 인텔 기반의 최소 8MB(스왑을 포함해서 총 16MB 정도)의 램을 가진 486 이상을 권장하고 있습니다.
RAM을 늘리는 것은 성능을 향상시키는데 도움이 됩니다. 그리고, S3 (리눅스에서 잘 지원하는)와 같이 가속기능을 가진 비디오 카드를 사용하는 것도 좋은 방법입니다. XFree86 설정하는데 꼭 필요한 시스템 정보는 비디오카드, 모니터, 마우스, 키보드 정도입니다.
비디오 카드
새로운 비디오 카드를 사려고 한다면, XFree86 프로젝트에서 지원하는 것인지 확인해야 합니다. 근래의 많은 비디오 카드와 칩셋들이 지원되기는 하지만, 먼저 지원되는 카드 목록을 확인해 보는 것이 좋습니다. 현재 지원되고 있는 카드와 칩셋에 대한 목록은 http://www.xfree86.org/4.0/Status.html에서 보실 수 있습니다.
새로운 카드나, 완제품에서 제공되는 문서는 칩셋과 비디오 메모리 량에 대한 정보를 가지고 있어야 합니다. 이러한 정보가 없다면, 제조업체의 웹사이트에서 제품 정보를 확인하시거나, 직접 연락을 취하십시요. 다른 방법은 XFree86 에서 제공하는 SuperProbe라는 유틸리티를 사용하는 것입니다. SuperProbe는 루트로 실행해야 하고, 알려진 칩셋에 대해서 적당한 결과를 알 수 있습니다. 또한 많은 칩셋들의 비디오 메모리를 알 수 있습니다.
모니터
X 설정을 하기 위해 XF86Config나 Xconfigurator등의 유틸리티를 사용했다면, 리스트에 있는 모델중 맞는 것을 고르기만 하면 됩니다. 하지만, 손으로 /etc/XF86Config 파일을 편집한다거나, 위 유틸리티의 목록에 모니터가 없다면 수평/수직 주파수(refresh도 역시)를 알고 있어야 합니다. 이러한 것들은 몇몇 곳에서 사용되기도 합니다. 대부분은 사용자 설명서나 케이스에 표시되어 있습니다. 모니터 정보는 Monitors 파일에서 찾을 수도 있습니다. 이 파일은 대개 /usr/X11R6/lib/X11/doc/Monitors 에 있습니다.
|
지원되는 refresh 보다 높게 설정한다면, 모니터에 무리가 갈 수 있습니다. 주의하세요.
|
대부분 배포판은 XFree86 을 기본적으로 설치합니다. rpm이나 deb 형태의 패키지를 통해 설치하는 것도 가능합니다. XFree86 에서 배포하는 기본적인 바이너리는 ftp://ftp.xfree86.org/pub/XFree86/current/binaries/ 에서 다운로드 할 수 있습니다. 여기에 아키텍쳐와 glibc 버전에 맞는 하위디렉토리가 존재합니다.
Xinstall.sh 로 시스템 체크하기
다른 것 보다 먼저, Xinstall.sh 를 다운로드 하십시요. Xinstall.sh 스크립트는 -check 플래그를 이용해 사용됩니다. 그러면 설치 해야 할 바이너리가 어떤 것인지 알려줍니다.
|
#./Xinstall.sh -check
Checking which OS you're running....
uname reports 'Linux' version '2.2.16-2kr',
architecture 'i686'.
Object format is 'ELF'. libc version is '6.1'.
Binariy distribution name is 'Linux-ix86-glibc21'
# |
구해야 하는 필수 파일들
적절한 하위 디렉토리를 결정했으면, 필수 파일들을 다운로드 하세요. 설치 스크립트는 다음 파일들을 찾습니다.
|
extract tar 파일을 풀어주는 유틸리티
Xbin.tgz X 클라이언트, 유틸리티, 런타임 바이너리들
Xlib.tgz 실행될 때 필요한 데이터파일
Xman.tgz 메뉴얼페이지
Xdoc.tgz 문서들
Xfnts.tgz 기본 폰트
Xfenc.tgz data로 인코딩된 폰트들
Xetc.tgz 실행 설정 파일들
Xvar.tgz 실행 데이터
Xxserv.tgz X 서버
Xmod.tgz X 서버 모듈들 |
위에 파일들이 없으면 설치 스크립트는 에러를 냅니다.
기존에 설치된 X 위에 설치하기
기존에 설치된 X 위에 새로운 X 를 설치한다면, 기존 설정 파일들을 백업하는 것이 좋습니다. 단순히 기존의 /usr/X11R6 디렉토리의 이름을 바꾸는 것이 아니라, /usr/X11R6 디렉토리 전부를 복사(혹은 tar로 묶어서) 하는 것이 적절한 백업방법 입니다. 설치가 진행되는 동안, 기본 설치 부분 중 일부분은 기존 X 프로그램을 손대지 않은채로 덮어 씌웁니다. 만일 설치가 잘못 되었다면, 백업해 놓은 것을 복사(또는 untar 로 아카이브를 풀어서..) 해서 이전의 상태로 되돌릴 수 있습니다.
X 윈도우를 실행하기 위해서는 설정이 필요한데, 이러한 설정을 도와주는 도구들이 몇가지 있습니다. 이 도구들은 XF86Config 파일을 만들어 줍니다.
|
XF86Config 는 /usr/X11R6/lib/X11 또는 /etc/X11 에 있습니다.
|
기본적인 XF86Config 파일은 XFree86에서 제공하고 있습니다. SVGA 와 640x480 의 해상도에 맞도록 설정되어 있습니다. /usr/X11R6/lib/X11/doc/README.Config 나 Linux Xfree86 HOWTO 를 보면 더 많은 정보를 얻을 수 있습니다. HOWTO 는 다음 URL에서 찾아보실 수 있습니다.
http://metalab.unc.edu/LDP/HOWTO/XFree86-HOWTO.html
http://kldp.org/HOWTO/html/XFree86/XFree86-HOWTO.html (한글 번역)
XF86Setup
XFree86 프로젝트에서 기본적으로 제공하는 X 설정 도구입니다. 콘솔에서 XF86Setup 을 실행시키면 됩니다. :)
XF86Setup 은 마우스, 키보드, 모니터, VGA 를 사용할 수 있도록 설정해 줍니다. 다섯개의 패널(마우스, 키보드, VGA, 모니터, 기타 서버 옵션)로 이루어진 인터렉티브한 프로그램입니다.
Xconfigurator
Xconfigurator는 레드햇사에서 만들고, 관리되고 있는 X 설정 프로그램입니다. 콘솔에서 Xconfigurator를 실행하면 됩니다.
|
사용하고 있는 도구에 관계없이, 사용중인 비디오카드 칩셋 정보에 관한 문서를 설정하기 전에 보시기를....
|
최근 대부분의 배포판들은 시스템 부팅 후, 바로 X 윈도우가 실행되도록 선택할 수 있습니다. X 윈도우가 뜨도록 선택했다면, 사용자는 그래픽컬한 로그인 화면을 볼 수 있습니다. 만일 선택하지 않았다면, 커맨드 라인에서 X 윈도우를 사용하기 위해서 직접 명령을 내려야 합니다. X 세션을 준비하기 위해서, startx 명령을 실행합니다. startx 명령에 옵션이 필요하다면 다음과 같이 실행시 옵션을 주면 됩니다. (예는 색상 수를 조절하는 옵션을 사용한 것입니다.)
|
#startx -- -bpp 16 (X 서버의 색을 16bit/pixel 을 기본값으로 시작합니다) |
실행할 클라이언트를 정하기 위해서, startx 스크립트는 각 사용자 홈디렉토리의 .xinitrc 파일을 살펴봅니다. 이 파일에서 클라이언트가 정의되어 있지 않다면, 스크립트는 Xinit 라이브러리의 .xinitrc 를 참조해서 클라이언트를 실행합니다. 실제로 이 스크립트는 xinit 명령을 실행하기 위한 프론트 엔드입니다. Xinit은 X 세션 설정에 관한 몇가지 옵션들을 가지고 실행되는 다소 복잡한 명령입니다. Xinit에 대해여 좀더 자세히 알고 싶으신 분은 man 페이지를 참조하시기 바랍니다.
X 윈도우를 제대로 설치했더라도, 화면이 모니터에 정확하게 보이지 않을 때도 있습니다. 만일 모니터가(랩탑 같은 경우) 화면의 크기와 위치 조절하는 기능이 없다면, 다른 방법으로 조절해야 합니다. Xvidtune 이 이러한 일을 할 수 있는 도구입니다. Xvidtune 유틸리티는 많은 배포판에 포함되어 있습니다. 커맨드라인에서 xvidtune 이라고 치면 실행하실 수 있습니다.
Xvidtune 유틸리티는 세세한 부분까지 조절이 가능합니다. 화면의 좌/우/상/하 와 높이와 폭의 조절은 물론, 사용자가 시작과 종료시 수평/수직의 동기화까지도 가능합니다.
|
항상 1에서부터 작은 단위로 조절을 하고, 조절한 값을 적용하기 전에 TEST 버튼을 이용해 테스트를 하십시오. 이 프로그램은 낮은 레벨까지 건들이는 성격이 있기 때문에, 주의하지 않는다면 모니터와 VGA카드를 망가뜨릴 수도 있습니다.
|
처음 리눅스 시스템을 만지는 사람들에게 X에서 사용하는 글꼴에 대한 부분은 어려울 수 있습니다. 다행히도 많은 사람들의 필요에 의해서 기본적 글꼴들은 제공됩니다. 다른 글꼴을 설치하려는 사람들을 위해서 몇가지 옵션들이 존재합니다. XFree86 은 비트맵, 트루타잎, 타입1의 글꼴을 지원합니다. X 에 포함되어 있는 글꼴 지원과 더불어, XFree86은 별개의 (또는 다수의) 글꼴 서버를 지원할 수 있습니다. 글꼴 서버는 XFree86 에서 사용할 수 있도록 폰트를 설치해 주는 백그라운드 프로세서입니다. 이런 글꼴 서버는 로컬 머신의 XFree86 의 글꼴과 네트워크상에서 운영되고 있는 다른 머신의 폰트들도 사용할 수 있도록 해줍니다.
Font Path 이해하기
X 상에서 글꼴에 대해 이해한다는 것의 핵심은 Font Path 를 제대로 이해하는 것입니다. Font Path를 설정하는 방법은 수동으로 XF86Config 파일을 수정하는 것과 xset 명령을 이용해 글꼴들이 있는 디렉토리를 추가해 주는 방법이 있습니다.
주요한 Font Path 는 /etc/X11/XF86Config 파일을 통해 관리됩니다. 이 파일은 X 에서 글꼴들을 사용할 수 있도록 글꼴들이 있는 디렉토리를 참조할 수 있도록 해줍니다. Xfree86Config 파일을 보면 다음과 유사한 섹션이 존재하는 것을 볼 수 있습니다.
|
# Multiple FontPath entries are allowed (they are
# concatenated together)
FontPath “/usr/X11R6/lib/X11/fonts/misc:unscaled”
FontPath “/usr/X11R6/lib/X11/fonts/75dpi:unscaled”
FontPath “/usr/X11R6/lib/X11/fonts/100dpi:unscaled”
....
.... |
위의 Path 들은 글꼴이 존재하고 있는 디렉토리 경로입니다. 하지만 근래의 레드햇 등의 배포판에서는 다음과 같이 Font Path 설정이 되어 있습니다.
|
# Multiple FontPath enties are allowed (they are
# concatenated together)
# By default, Red Hat 6.0 and later now use a font server
# independent of the X server to render fonts.
FontPath “unix/:-1” |
위에서 보면, XFree86 과는 별도로 동작하는 글꼴 서버를 볼 수 있습니다. 그리고, 이 글꼴 서버는 고유한 설정 파일을 가지고 있습니다. 폰트서버는 xfs 와 xfstt, 2가지가 유명합니다. 동일한 XF86Config 파일에서 글꼴 디렉토리를 직접 참조하는 것과, 글꼴 서버를 참조하도록 설정하는 것이 가능합니다.
Font Path에 디렉토리 추가하기
Font Path를 추가하는 방법 중 하나는 xset 명령을 이용하는 것입니다. 만약 /usr/share/fonts/foo 가 글꼴 디렉토리라면 xset 명령을 다음과 같이 실행하면 Font Path가 추가됩니다.
|
# xset fp+ /usr/share/fonts/foo
# xset fp rehash |
이렇게 하면 /usr/share/fonts/foo 디렉토리가 사용자의 Font Path에 추가가 되고, X 서버에게 새로 추가된 글꼴을 찾도록 알려주게 됩니다. 위의 명령은 단지 사용자 로그아웃 하기 전까지 글꼴을 사용할 수 있도록 해주는 xset 명령어를 이용하는 예입니다. 위 명령을 자동으로 하기 위해서는 사용자의 홈디렉토리에서 .Xsession 파일이나, .xinitrc 파일에 추가해 주어야 합니다. 모든 사용자에게 Font Path 를 추가해 주기 위해서는 XF86Config 파일에서 File Section 부분에 FontPath 를 추가해 주어야 합니다. (FontPath “/usr/share/fonts/foo” 이런 형식으로..)
루트 사용자로 FontPath 를 추가하고 나서 FontPath 를 적용하기 위해서는 X 글꼴 서버를 재시작해야 합니다.
글꼴 서버로 유명한 두개는 xfs 와 xfstt 라고 위에서 말했습니다. xfs 는 레드햇 계열의 배포판에서 (맨드레이크, 터보 리눅스 등) 타입1 과 비트맵 폰트는 물론 트루타잎까지 지원하도록 컴파일 되어 있습니다. 다른 계열의 배포판(가장 유명한 것은 데비안입니다.) xfs 를 사용하기는 하지만, 트루타잎 글꼴을 지원않도록 컴파일되어 있습니다. 트루타잎 글꼴을 지원하지 않는 시스템에서는 트루타잎 글꼴을 사용하기 위해서 xfstt 를 설치해야 합니다. (혹은, xfs 의 소스를 받아서 트루타잎 글꼴을 지원하도록 재컴파일 하면 됩니다.)
xfs 는 XFree86 프로젝트의 코드를 기초로 합니다. 과거에는 XFree86 에서 글꼴을 지원하도록 같은 코드가 제공되었지만, 이제는 독립서버로서 작동하게 되었습니다.
xfs 에서 Font Path 는 /etc/X11/fs/config 파일의 제어를 받습니다. 레드햇 계열의 배포판에서는 설정파일을 선택하거나, fontpath(글꼴 경로)를 더해주거나 제거할 때, chkfontpath 유틸리티를 사용할 수 있습니다. 자세한 정보는 man 페이지를 이용하십시오.
윈도우 매니저는 무슨 일을 할까?
윈도우 매니저는 미리 정의되어 있는 몇몇 형식으로 프로그램 윈도우를 배치 하거나, 사용자가 윈도우를 이동, 크기 조절, 아이콘화 하기 등을 할 수 있도록 해 줍니다. 윈도우 매니저를 선택하는 것은 X 환경에서의 look and feel 을 결정하는 것입니다.
리눅스에서 사용할 수 있는 윈도우 매니저는 많습니다. 유명한 것들은 다음과 같습니다.
Fvwm, fvwm2, fvwm95 : 한때는 유명했지만, 지금은 구식이 된 윈도우 매니저입니다. Fvwm95 는 fvwm2 를 hack 해서 만들었다고 합니다.
Enlightenment : 극단적인 설정이 가능한 윈도우 매니저입니다.
Afterstep : NeXT step 환경을 기반으로 만들어졌습니다.
Windowmaker : GNUstep 응용프로그램의 추가적인 통합 지원을 위하여 설계되었습니다. 이것은 NeXTSTEP GUI 의 우아함을 흉내 내고자 하였습니다. 비교적 빠르고, 기능이 풍부하고 설정도 쉽고, 사용하기에 쉽습니다.
KDE : 윈도우 매니저, 파일 관리자, 패널, 제어 센터, 그리고 많은 최신 데스크탑 환경을 구현하기 위해서 많은 컴퍼넌트들을 가지고 있습니다. KDE 의 최신 버전은 Mac 과 유사한 인터페이스를 제공합니다. KDE는 차세대 리눅스 인터페이스가 되기 위해서 노력하고 있습니다. 레드햇, 수세, 칼데라 시스템에서 배포판에 KDE를 포함하고 있습니다.
GNOME : GNOME 은 GNU Network Object Model Environment를 말합니다. GNOME 프로젝트는 완벽하고, 사용자에게 친화적인 인터페이스를 무료로 제공하고자 하고 있습니다. GNOME은 GNU 프로젝트의 일환으로, OpenSource 정의를 따르는 무료 소프트웨어 입니다. GNOME은 일관성있는 Look and Feel 을 공유하는 작은 유틸리티와 큰 응용 프로그램으로 구성되어 있습니다. GNOME은 모든 GNOME 응용 프로그램이 사용하는 GUI 툴킷으로서 GTK+ 를 사용합니다. 이것은 Mac 이나, MS-Windows 환경과 비슷하도록 설정할 수 있습니다. 레드햇은 GNOME 개발 프로젝트의 후원자입니다. 그리고, GNOME과 함께 하기를 원하고 있습니다. 매우 뛰어난 유연성을 가진 최근의 리눅스 인터페이스로서의 특징을 가지고 있습니다. GNOME은 윈도우 매니저를 가지고 있지는 않지만, 대체적으로 Enlightenment 윈도우 매니저를 대신 가지고 있습니다. (GNOME 1.2 에서는 Sawfish가 기본으로 사용됩니다.) 최신의 RPM은 다음에서 받으실 수 있습니다.
이외에 IceWM, XFCE, Mwm, Olvwm 등의 윈도우 매니저가 있습니다. 윈도우 매니저의 개략적인 내용은 http://www.PliG.org/xwinman/ 에서 보실 수 있습니다.
윈도우 매니저는 사용자가 자신만의 환경을 만들 수 있도록 설정파일을 이용할 수 있도록 합니다. 윈도우 매니저에 따라서, .<매니저>rc 등의 이름으로 사용자의 홈디렉토리에 위치하면 됩니다. 자세한 것은 각각의 매니저마다 문서를 참조하세요.
|
X 를 빠져나가지 않고 윈도우 매니저를 변경하는 것이 가능합니다. 기본 윈도우 매니저는 .xinitrc 파일에 명시되어 있고, 추가적으로 각각의 윈도우 매니저 startup 파일에 명시되어 있지요.
|
Xdm 은 그래피컬한 사용자 로그인 서비스를 제공합니다. Xdm 은 X 를 시작하고, 사용자 로그인이 가능하도록 합니다. 사용자가 로그인 할 때, 홈디렉토리의 .xsession ( .xinitrc 대신)을 읽고, 시작 프로그램들과 윈도우 매니저 등을 실행합니다. 사용자가 윈도우 매니저에서 X 세션을 끝냈을 경우에는, X 는 xdm 로그인 상태로 돌아가게 됩니다.
|
몇몇 gdm 같이 xdm을 대신하는 몇몇 프로그램은 .Xsession 대신에 .Xclient 파일을 이용합니다.
|
Xdm은 사용자가 볼 수 있는 가장 처음의 인터페이스이기 때문에, 편리한 사용과 몇몇 곳에서 필요에 의한 커스터마이징이 쉽도록 설계되었습니다. Xdm은 많은 옵션들이 있습니다. Xdm 매뉴얼을 참조하세요.
Xdm 시작하기 : /etc/inittab 파일에서 런레벨을 수정합니다. Xdm 을 실행할 수 있는 런레벨은 다음과 같습니다.
|
RedHat/TurboLinux : 5(X11)
SuSE : 3
Slackware : 4
Debian : /etc/inittab를 사용하지 않음 |
Xdm 을 부트 후 시작하도록 하려면, /etc/inittab 파일에서 initdefault 를 변경하면 됩니다.
|
팁>> 로그인 상자에서 패스워드를 넣고 Enter 대신 Ctrl + Enter를 치면, xdm 은 failsafe 모드로 들어가게 됩니다. 홈디렉토리의 .xsession 을 읽지 않고 xterm 을 실행시키고, 홈디렉토리의 .xsession 파일이 잘못 되었더라도 사용자가 로그인할 수 있도록 하는데 효과적입니다.
|
KDE는 사용할 수 있는 많은 데스크탑 환경 중 하나이고, 실질적으로는 모든 배포판에서 동작할 수 있습니다.
[KDE 스크린샷]
KDE 설치
Qt 와 KDE 꾸러미를 설치하면 됩니다. http://www.kde.org 에서 배포하는 많은 배포 형태중 자신에게 맞는 것을 선택해서 설치하기만 하면 됩니다. 한글을 사용하는 사용자는 배포판에 포함되어 있는 것을 설치하십시오.
|
노트>> KDE 는 qt 라이브러리를 사용합니다. KDE 꾸러미의 설치에 앞서, Qt를 설치해야 합니다. 각 꾸러미의 설치 순서는 다음과 같습니다.
|
Qt Qt-devel Kdesupport Kdelibs Kdebase Kdeutils Kdeadmin Kdegraphics Kdenetwork Kdemultimedia Kdegames
다른 데스크탑 환경들과 비슷하게 보일지라도, GNOME 은 다른 데스크탑환경에서 가능하지 않은 많은 특징들을 가지고 있습니다.
GNOME은 tar ball 과 RPM 두가지 형태로 사용 가능합니다. 완벽하게 GNOME 을 설치하려면 http://www.gnome.org 의 설치 문서를 참조하시기 바랍니다.
[gnome 스크린샷]
기본적인 X 링크들 http://www.themes.org
Metro X 상업 X 서버 http://www.metrolink.com
XFree86 Window 서버 http://xfree86.org
Xi Graphics Accellerated X display 서버 http://www.xig.com
|