Xorg/Guide/ko

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Xorg/Guide and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎日本語 • ‎한국어 • ‎polski • ‎русский • ‎中文(中国大陆)‎

Xorg는 사용자의 손 끝에 그래픽 환경을 전달해주는 X 윈도 서버en입니다. 이 설명서에서는 Xorg가 무엇인지, 어떻게 설치하고 어떤 다양한 설정 옵션이 있는지 설명하겠습니다.

X 서버가 무엇인가요?

그래픽 vs 명령행

보통 사용자는 명령을 입력하는데 공포감을 느낍니다. 젠투(그리고 보통 리눅스)가 제공하는 자유로움을 통해 가리켜서 마우스 버튼을 누를 수 있게 하는건 어떨까요? 글쎄요, 물론 이렇게 할 수 있습니다. 리눅스에서는 상당히 많은 뽀대나는 사용자 인터페이스와 설치 결과물의 위에서 설치할 수 있는 환경을 제공합니다.

새로운 사용자들 사이에서 가장 놀라울 만한 한가지가 있습니다. 그래픽 사용자 인터페이스는 시스템에서 실행하는 프로그램만 있는 것이 아닙니다. 리눅스 커널 또는 다른 시스템의 내부로서의 일부도 "아닙니다". 워크스테이션에서 그래픽 기능을 완전히 가능케 하는 강력한 도구입니다.

중요한 표준인만큼, 화면에 그리고, 창을 옮기며, 사용자와 마우스, 키보드 등의 기본적인 요소를 통해 상호작용하는 아직까지도 중요한 요소로 만들어지고 "X 윈도우 시스템"이라는 이름이 붙은 표준을 "X"가 아니라 "X11"이라는 이름으로 보통 함축합니다. 전세계 곳곳에서 유닉스, 리눅스를 포함한 유닉스 유사 운영체제 위에서 사용합니다.

그래픽 사용자 인터페이스를 구동하는 능력을 지니도록 사용자에게 제공하는 프로그램과 X11 표준을 사용하는 요소는 XFree86 프로젝트에서 갈라져 나온 Xorg-X11입니다. XFree86은 GPL 라이선스와 호환되지 않는 라이선스를 사용하기로 결정하였습니다. 그렇기 때문에 Xorg의 사용을 추천합니다. 공식 포티지 트리에서는 XFree86 패키지를 더이상 지원하지 않습니다.

X.org 프로젝트

X.org 프로젝트는 자유롭게 재배포 가능한 X11 오픈소스 구현 시스템으로 만들었습니다. 오픈소스 X11 기반 데스크톱의 하부입니다.

Xorg에서는 하드웨어와 여러분이 실행하려는 그래픽 소프트웨어사이의 인터페이스를 제공합니다. 이에 견주어 Xorg는 완전한 네트워크 지향 기능을 갖추고 있으며, 다른 머신에서 보고있는동안 하나의 시스템에서 프로그램을 실행할 수 있음을 의미합니다.

Xorg 설치

Xorg를 설치할 수 있기 전에 시스템에 준비할 것이 있습니다. 먼저 커널에 입력 장치와 비디오 카드를 지원하도록 설정해야 합니다. 그 다음 /etc/portage/make.conf를 준비하여 올바른 드라이버와 Xorg 패키지를 빌드하고 설치할 수 있도록 해야합니다.

입력 드라이버 지원

기본적으로 Xorg에는 범용 입력 드라이버인 evdev[1]를 사용합니다. 커널 설정을 바꾸어서 evdev 지원을 활성화 해야합니다. 커널 설정 방법을 모르겠다면 커널 설정 안내서를 읽어보십시오.

커널 커널에서 evdev 활성화
Device Drivers --->
  Input device support --->
  <*>  Event interface

대신 Libinput을 입력 장치 드라이버로 활용할 수 있습니다.

커널 상태설정

최신 오픈소스 비디오 드라이버는 커널 모드셋팅(KMS)에 의존합니다. KMS에서는 화면 깜빡임 감소, 빠른 사용자 전환, 내장 프레임버퍼 콘솔, 콘솔에서 Xorg로의 감쪽같은 전환 등 여러가지 기능으로 무장한 개선된 그래픽 부팅 기능을 지원합니다. KMS는 기존 프레임버퍼 드라이버와 충돌하므로 커널 설정에서 비활성화 된 상태로 두어야 합니다.

중요
KMS는 기존에 프레임버퍼 드라이버와 함께 동작하지 않으므로 기존 프레임버퍼 드라이버를 커널 설정에서 비활성화해야합니다.

먼저 KMS 커널 설정을 준비합니다. 이 단계에서는 여러분이 사용하는 Xorg 비디오 드라이버가 무엇인지에 대해 상관 없이 진행합니다.

커널 기존 프레임버퍼 기능을 비활성화 하고 기본 콘솔 프레임버퍼 지원 활성화
Device Drivers --->
   Graphics support --->
      Frame Buffer Devices --->
         <*> Support for frame buffer devices --->
         ## (Disable all drivers, including VGA, Intel, nVidia, and ATI, except EFI-based Framebuffer Support, only if you are using UEFI)
 
    ## (Further down, enable basic console support. KMS uses this.)
    Console display driver support --->
      <*>  Framebuffer Console Support

다음, 비디오카드에 맞는 적당한 KMS 드라이버를 사용하도록 커널을 설정하십시오. 인텔, 엔비디아, AMD/ATI가 일반적인 카드이므로, 여러분의 카드에 따라 적은 코드를 따라가시면 됩니다.

인텔 카드 내용은 인텔 문서 커널 섹션을 살펴보십시오.

엔비디아의 경우:

커널 nVidia 설정
Device Drivers --->
   Graphics support --->
      <*>  Nouveau (nVidia) cards

최신의 AMD/ATi 카드에서(RadeonHD 2000 이상), x11-drivers/radeon-ucode 또는 sys-kernel/linux-firmware를 이머지해야 합니다. 두 꾸러미 중 하나를 설치하면 라데온 페이지en펌웨어 섹션en에서 자세히 설명한대로 커널을 설정하십시오:

커널 AMD/ATI 설정
## (Setup the kernel to use the radeon-ucode firmware)
Device Drivers --->
   Generic Driver Options --->
   [*]  Include in-kernel firmware blobs in kernel binary
  ## # ATI card specific, (see Radeon page for details which firmware files to include)
   (radeon/<CARD-MODEL>.bin ...)
  ## # Specify the root directory
   (/lib/firmware/) External firmware blobs to build into the kernel binary
 
## (Enable Radeon KMS support)
Device Drivers --->
   Graphics support --->
   <*>    ATI Radeon
   [*]      Enable modesetting on radeon by default
   [ ]      Enable userspace modesetting on radeon (DEPRECATED)
참고
예전 라데온 카드(X1900 시리즈 이전)에서는 x11-drivers/radeon-ucode 꾸러미를 설치하거나 다른 펌웨어 설정을 할 필요가 없습니다. 직접 렌더링 관리자(DRM)과 ATI 라데온 모드 설정 활성화만 하시면 됩니다.
참고
리눅스 커널 3.9 이상에서는 "라데온용 모드 설정 기본 활성화(Enable modesetting on radeon by default)" 옵션이 더 이상 존재하지 않으며 기본으로 설정하는 것으로 이미 암묵적으로 처리했습니다.

커널 설정을 빠져나간 후, 커널을 다시 빌드하고 재부팅en 하십시오.

이제 KMS 설정이 끝났으면, 다음 섹션에서 /etc/portage/make.conf를 준비하는 것으로 계속 진행하십시오.

make.conf

이제 커널을 준비했고, Xorg를 설치할 수 있기 이전에 /etc/portage/make.conf 파일의 중요한 두가지 변수를 설정해야 합니다.

첫번째 변수는 VIDEO_CARDSen입니다. 이 변수는 여러분이 사용하려는 비디오 드라이버를 설정하는데 사용하며 보통 여러분이 가진 그래픽 카드 종류를 기반으로 합니다. 대부분의 일반 설정은 엔비디아 카드에 대해서는nouveau, ATI 카드에 대해서는 radeon입니다. 둘 다 활발하게 개발되었고 잘 지원하는 오픈소스 드라이버입니다.

참고
아마도 엔비디아와 ATI에서 상업용 드라이버를 사용하려 할텐데 nvidiafglrx가 있습니다. 그러나 상업용 드라이버의 설정은 이 안내서의 범위를 넘어섭니다. NVidia/nvidia-drivers 젠투 리눅스 엔비디아 안내서젠투 리눅스 ATI 자주 묻는 질문을 읽어보십시오. 어떤 드라이버를 선택해야 할지 모르겠다면, 더 많은 내용을 알아보기 위해 이 안내서를 참고하십시오.

인텔 드라이버는 일반적인 인텔 통합 그래픽 칩셋이 붙은 데스크톱이나 랩톱에서 사용합니다.

참고
VIDEO_CARDS변수에는 공백으로 구분한 하나 이상의 드라이버 이름을 넣을 수 있습니다.

두번째 변수는 INPUT_DEVICES이며 입력 장치에 대해 어떤 드라이버를 빌드할지를 판단하는데 사용합니다. 대부분 libinput 또는 evdev로 설정하면 제대로 동작합니다. 랩톱용 감지식 터치패드 같은 다른 입력 장치를 사용한다면, INPUT_DEVICES에 꼭 넣으십시오.

이제 어떤 드라이버를 활용할지 판단하고, /etc/portage/make.conf 파일에 필요한 설정을 넣어야 합니다:

코드 make.conf 항목 예제
## (For mouse, keyboard, and Synaptics touchpad support)
INPUT_DEVICES="evdev synaptics"
## (For nVidia cards)
VIDEO_CARDS="nouveau"
## (For AMD/ATI cards)
VIDEO_CARDS="radeon"

제안한 설정 항목이 동작하지 않는다면 emerge -pv xorg-drivers을 실행하여 사용할 수 있는 옵션이 어떤 것인지 확인하고 시스템에 적용할 옵션을 선택해야 합니다. 시스템에 대한 여기 예제는 키보드, 마우스, 감지식 터치패드, 라데온 비디오 카드를 포함합니다.

root #emerge --ask --verbose x11-base/xorg-drivers
 
These are the packages that would be merged, in order:
 
Calculating dependencies... done!
[ebuild   R   ]  x11-base/xorg-drivers-1.9  INPUT_DEVICES="evdev synaptics
-acecad -aiptek -elographics% -fpit% -joystick -keyboard -mouse -penmount -tslib
-virtualbox -vmmouse -void -wacom"
VIDEO_CARDS="radeon -apm -ark -ast -chips -cirrus -dummy -epson -fbdev -fglrx
(-geode) -glint -i128 (-i740) (-impact) -intel -mach64 -mga -neomagic (-newport)
-nouveau -nv -nvidia -r128 -rendition -s3 -s3virge -savage -siliconmotion -sis
-sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx)
-tdfx -tga -trident -tseng -v4l -vesa -via -virtualbox -vmware (-voodoo) (-xgi)"
0 kB

필요한 모든 변수를 설정하고 나면 Xorg를 설치할 수 있습니다:

root #emerge --ask xorg-server
참고
좀 더 가벼운 x11-base/xorg-server 대신, x11-base/xorg-x11 메타꾸러미를 설치할 수 있습니다. 기능적으로는 x11-base/xorg-x11x11-base/xorg-server는 동일합니다. 그러나, 대부분 시스템에서 x11-base/xorg-x11 꾸러미가 끌고 오는 다른 꾸러미는 필요하지 않을 수도 있습니다. 추가 꾸러미에는 여러 언어에 대응하는 상당히 많은 fonts 가 있습니다. 이 모든 꾸러미가 동작하는 X11 프레임워크에 필요하진 않습니다.

설치가 끝나면, 계속하기 전에 일부 환경 변수를 다시 초기화해야 합니다:

root #env-update
root #source /etc/profile

nVidia 사용자용 참고

선택한 그래픽 카드에서 동작하는 xorg.conf 파일을 얻으려면 nvidia-xconfig 파일을 실행하는 것이 좋습니다. 이 과정을 진행하지 않으면, 아래 설명한 대로 xorg.conf를 직접 만들어야합니다. xorg.conf가 빠지면 startx를 실행할 때 가끔 "No screens found" 오류가 뜹니다.

NVidia 드라이버는 다시 부팅하고 난 후에 동작하므로 nvidia-xconfig를 실행하고 난 후 시스템을 다시 시작하십시오.

root #nvidia-xconfig

소프트웨어 렌더러 대신 하드웨어 렌더러를 OpenGL 렌더러로 설정(하며 아마도 이렇게 하는게 좋겠습니다)할 수 있습니다

root #eselect opengl set nvidia

Xorg 설정

X 서버는 Xorg 설정 파일을 직접 편집할 필요 없이 특별하게 동작하도록 설계했습니다. 화면 장치, 키보드, 마우스와 같은 장치를 감지하고 설정해야합니다.

먼저 어떤 설정 파일을 편집하지 않고도 startx 사용하기를 시도해보셔야 합니다. Xorg가 시작하지 않거나 다른 문제가 있다면 다음 섹션에서 보시는 바와 같이 Xorg를 직접 설정해야 합니다.

참고
바뀐 내용으로 자리 잡았을 경우 새 커널로 부팅하려면 startx를 사용하기 전 시스템 재시작을 잊지 마십시오. 과정상 새 커널로 업데이트 했다면 부트로더의 설정 파일도 마찬가지로 업데이트해야합니다.

xorg.conf.d 디렉터리

중요
xorg.conf.d의 설정 파일은 "최후의 수단"옵션으로 보이게 해야 합니다. 가능하다면 특별한 설정 없이 Xorg가 기대하던대로 동작합니다.

Xorg 설정 파일은 /etc/X11/xorg.conf.d/에 있습니다. 각각의 파일은 고유의 이름을 지니고 있으며 .conf로 끝납니다. Xorg 설정 디렉터리에 있는 파일 이름은 영문자, 숫자 순으로 읽습니다. 예를 들어 10-evdev.conf20-synaptics.conf 보다 먼저 읽고, a-evdev.confb-synaptics.conf보다 먼저 읽는 그런 식입니다. 이 디렉터리의 파일은 굳이 숫자를 붙일 필요가 없지만, 숫자를 붙이면 오히려 정리에 도움이 됩니다. 문제있는 설정 파일을 디버깅할 때면 미리 정리해둔 상태가 도움이됩니다.

참고
Xorg는 /usr/share/doc/xorg-server-${version}/xorg.conf.example.bz2의 예제 설정을 제공합니다. 의 설정 파일을 제체적으로 만들어서 사용할 수 있습니다. 예제에서의 주석 설명은 엄청나게 많지만 문법이 적힌 문서가 필요하다면, man xorg.conf를 읽어보십시오. 다른 예제는 이 안내서 마지막의 기타 자료 장에서 찾아볼 수 있습니다.

startx 사용하기

이제 X 서버en를 시작하려면 startx를 실행해보십시오. startx(x11-apps/xinit에서 설치함)는 "X 세션"을 실행하는 스크립트입니다. 이 스크립트를 통해 X 서버en를 시작하고 이 위에 그래픽 프로그램을 띄웁니다. 다음 절차에 따라 어떤 프로그램을 실행할지 판단합니다:

  • 내 디렉터리에 .xinitrc 파일이 있다면, 해당 파일에나열한 명령을 실행합니다.
  • 언급한 파일이 없다면, /etc/env.d/90xsession 파일의 XSESSION 변수 값을 읽은 후, 관련 세션을 실행합니다. /etc/X11/Sessions/XSESSION 값이 있습니다. 시스템 전반 기본 세션을 설정하려면 다음 명령을 실행하십시오:
root #echo XSESSION="Xfce4" > /etc/env.d/90xsession
이 과정을 통해 90xsession 파일을 만들고 기본 X 세션을 Xfce로 지정합니다. 90xsession 설정을 바꾼 후 env-update 실행을 잊지 마십시오.
user $startx

아직 윈도 매니저를 설치하지 않았다면, 검은 화면만 보입니다. 무엇인가 잘못되었다는 뜻일 수도 있기 때문에 X 테스트 전용 목적으로 x11-wm/twmx11-terms/xterm를 이머지 하시는 것이 좋습니다.

두개 프로그램을 설치하고 나면 startx를 다시 실행하십시오. 몇가지 xterm 창이 나타나야 하는데, 이 창이 X 서버en가 제대로 동작함을 쉽게 확인시켜줍니다. 결과에 만족한다면 위 과정의 시험을 목적으로 x11-wm/twmx11-terms/xterm 꾸러미를 설치했을 경우 언머지하여 제거하십시오. 적당한 데스크톱 환경을 설정하고 난 다음에는 필요치 않습니다.

세션(시작할 프로그램)은 startx에 인자 값으로 줄 수 있습니다:

user $startx /usr/bin/startfluxbox

대시 기호 두개를 붙여 X11 서버 옵션을 전달할 수도 있습니다:

user $startx -- vt7

X 세밀하게 설정하기

해상도 설정

화면 해상도가 이상한 것 같다면 xorg.conf.d 설정의 두가지 섹션을 확인해봐야 합니다. 먼저 X 서버en가 실행할 해상도를 나타내는 Screen 섹션을 넣어야 합니다. 이 섹션에는 모든 해상도가 들어가는 것은 아닙니다. 만약 이런 경우 Xorg는 두번째 섹션 Monitor의 정보를 참고로 하여 해상도를 추정합니다.

이제 해상도를 바꿔보겠습니다. 다음 /etc/X11/xorg.conf.d/40-monitor.conf의 예제에서 PreferredMode를 추가하여 X 서버en가 1440x900 해상도를 기본으로 시작하도록 하겠습니다. Device 섹션의 Option은 모니터(DVI-0)의 이름과 일치해야 하는데 xrandr를 실행하면 모니터 이름이 나옵니다. 이 충분히 많은 내용을 가져오려면 emerge xrandr를 실행하여 xrandr을 설치해야 합니다. (Device 섹션에서) 모니터 이름 다음의 인자는 Monitor 섹션의 Identifier 값과 일치해야 합니다.

root #nano -w /etc/X11/xorg.conf.d/40-monitor.conf
Section "Device"
  Identifier  "RadeonHD 4550"
  Option      "Monitor-DVI-0" "DVI screen"
EndSection
Section "Monitor"
  Identifier  "DVI screen"
  Option      "PreferredMode" "1440x900"
EndSection

X(startx)를 실행하여 원하는 해상도를 찾으십시오.

다중 모니터

/etc/X11/xorg.conf.d/에서 하나 이상의 모니터를 띄울 수 있습니다. 각각의 모니터에 고유 식별자를 부여한 다음, "RightOf" 또는 "Above" 같이 다른 모니터에 대한 실제 물리 위치를 적어두십시오. 다음 예제를 통해 어떻게 VGA 모니터를 오른편 방향 화면으로 하여 DVI 와 VGA 모니터를 설정하는지 보여드리도록 하겠습니다.

root #nano -w /etc/X11/xorg.conf.d/40-monitor.conf
Section "Device"
  Identifier "RadeonHD 4550"
  Option     "Monitor-DVI-0" "DVI screen"
  Option     "Monitor-VGA-0" "VGA screen"
EndSection
Section "Monitor"
  Identifier "DVI screen"
EndSection
Section "Monitor"
  Identifier "VGA screen"
  Option     "RightOf" "DVI screen"
EndSection

키보드 설정

국제 키보드를 사용하도록 X를 설정한다면 /etc/X11/xorg.conf.d/의 적당한 설정 파일을 만들어야 합니다. 이 예제에서는 체코어 키보드 배치를 나타냅니다:

root #nano -w /etc/X11/xorg.conf.d/30-keyboard.conf
Section "InputClass"
        Identifier "keyboard-all"
        Driver "evdev"
        Option "XkbLayout" "us,cz"
        Option "XkbModel" "logitech_g15"
        Option "XkbRules" "xorg"
        Option "XkbOptions" "grp:alt_shift_toggle,grp:switch,grp_led:scroll,compose:rwin,terminate:ctrl_alt_bksp"
        Option "XkbVariant" ",qwerty"
        MatchIsKeyboard "on"
EndSection

키보드 배치를 바꾸는 방법을 살펴보려면 키보드 배치 전환en 게시글을 살펴보십시오.

"중단" 명령(terminate:ctrl_alt_bksp)은 Ctrl + Alt + 키 조합을 사용하여 X세션을 죽일 수 있게 합니다. 그러나 이 방식으로는 X를 완전히 빠져나갈 수 있게 하지 않습니다. 항상 이렇게 하길 원하지는 않을 것이기 때문입니다. 프로그램 하나로 말미암아 화면 전체가 얼어버렸을 때, 또는 Xorg 환경을 세밀하게 설정중일때 쓸모있을 수 있습니다. 이 키 조합으로 데스크톱을 죽일때 주의하십시오 -- 대부부의 프로그램은 이 방법으로 끝내는걸 그다지 선호하지 않으며, 작업중이던 어떤 일부(또는 전체)내용을 잃을수 있습니다.

끝내기

startx를 실행하고 결과에 만족하길 바랍니다. 축하합니다. 이제 (기대한 바대로) 여러분의 시스템에서 Xorg를 동작하계끔 했습니다. 다음 단계에서는 KDE, 그놈, Xfce와 같은 데스크톱 환경이나 쓸만한 윈도 매니저를 설치해야겠지만, 이 안내서에서 다룰 부분이 아닙니다. 이 데스크톱 환경에 대한 설치 정보는 위키에서 찾아볼 수 있습니다.

추가 참조

자료

설정 파일 만들고 편집하기

man xorg.confman evdev에서는 설정 파일에서 활용하는 문법에 대해 완벽하고 간단한 참고 내용을 보여줍니다. Xorg 설정 파일을 편집할 때, 꼭 터미널에서 열어보십시오!

/etc/X11/의 설정 파일을 편집하는 내용의 자료는 온라인에 널렸습니다. 여기에 언급하는건 일부입니다. 더 많은 내용은 원하는 엔진으로 찾아보십시오.

기타 자료

다양한 그래픽 데스크톱 환경 및 프로그램을 설치하고 설정하는 정보는 문서의en 장에서 찾을 수 있습니다.

xorg-server 이전 버전에서 1.9 버전 이상으로 업그레이드 한다면, 마이그레이션 안내서를 꼭 읽으십시오.

X.org는 자체 사이트에 많은 자주 묻는 질문 을 제공하며, 자체 문서도 있습니다.


This article is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Sven Vermeulen (SwifT), Joshua Saddler (nightmorph)
They are listed here as the Wiki history does not allow for any external attribution. If you edit the Wiki article, please do not add yourself here; your contributions are recorded on the history page.
  1. evdev