Skip to content

X window

개념

주로 유닉스 계열 운영체제에서 사용되는 윈도우 시스템이다.

특징

  • 네트워크 프로토콜에 기반한 GUI환경
  • 디스플레이 장치에 의존적이지 X, 뛰어난 이식성
  • 스크롤바, 아이콘, 색상 등 그래픽 환경에 필요한 자원 특정한 형태로 지원 X
  • 사용자가 원하는 모양의 인터페이스를 만들 수 있음

구조

  • 클라이언트/서버 구조
  • 네트워크 기반의 X Protocol으로 통신
  • 로컬에서도 TCP 포트로 통신
  • X 클라이언트는 X 서버 위에서 돌아감

X서버

XFree86
  • IBM시스템을 사용하는 유닉스 계열 운영체제를 위한 X윈도우 프로젝트
  • 현재는 OS X, BSD게열, OS/2를 비롯한 다양한 OS를 지원한다
X.org
  • X.org 파운데이션에서 관리되는 X서버 패키지
  • X-org Server라고도 한다.
  • 자유 소프트웨어

X클라이언트

Xlib
  • C언어로 구현된 클라이언트 라이브러리
  • X 서버와 대화를 해줌
  • 저수준 인터페이스로 기본 입출력 기능만 가능
XCB
  • Xlib보다 향상된 쓰레딩 기능
  • 뛰어난 확장성
  • 작은 라이브러리 크기
  • 직접 X 프로토콜 접속 기능

사용방법

설정

X 윈도우를 사용하기 위해서 그래픽 카드 설정은 필수이다. XFree86을 사용하던 초기 리눅스 배포판에서는 X 윈도우를 설정하기 위해서 명령어를 사용해야 했다. 하지만 최근 배포판에서는 자동으로 그래픽 카드를 인식하거나 호환 모드로 설정해주기 때문에 바로 X 윈도우를 사용할 수 있다.

실행

X 윈도우 실행방법

  • 부팅시 X윈도우 실행(Runlevel 5)
  • 텍스트 모드(Runlevel 3)에서 실행

리눅스의 부팅모드는 /etc/inittab에서 설정한다.

그래픽 환경 기반 설치 유틸리티인 anaconda를 사용하면 기본 설정이 level5이다.

텍스트 모드로 부팅이 되는 경우에는 로그인 이후 startx 명령어를 사용해서 X윈도우를 실행시킬 수 있다.

$ startx [option]

주요 옵션

옵션 설명
명령행의 인자값을 xinit에게 넘겨준다

데스크톱 환경

GUI환경을 이용하기 위해 사용자에게 제공되는 인터페이스 스타일

KDE

  • Qt라이브러리 기반
  • yum install konq-plugins으로 패키지를 설치할 수 있다.

Dolphin이라는 파일 관리자를 사용한다.

GNOME

  • GNU에서 만든 데스크톱 환경
  • GPL 라이선스를 해제한 Qt 라이브러리 기반의 KDE의 대안
  • 데스크톱 부분과 라이브러리는 LGPL 준수
  • 응용프로그램은 GPL를 따름

초기버전에서는 nautilus라는 파일 관리자를 이용하였고, v2부터 metacity라는 윈도우 매니저를 v3부터는 Mutter를 사용하고 있다.

윈도우 매니저

X 윈도우 환경에서 윈도우의 배치와 표현을 담당하는 시스템 소프트웨어로 도그, 태스크 바, 프로그램 런처, 데스크톱 아이콘, 바탕화면 등을 포함한다.

GNOME에서 사용된 nautilus, metacity나 KDE에서 사용된 KWin과 같이 X 윈도우 시스템에서 사용되는 윈도우 매니저를 X 윈도우 매니저라 한다.

X 윈도우 활용

원격지에서 X 클라이언트 이용

X 윈도우는 서버와 클라이언트가 독립적으로 동작하는 네트워크 지향 시스템이므로 원격에서 X클라이언트를 실행할 수 있다.

xhost

X 서버에 접근 가능한 클라이언트를 지정하거나 해제한다.

xhost [+|-] [IP or domain]

display

X 클라이언트가 실행될 때 표시되는 창이 설정되어 있는 환경변수로 기본값:0.0

첫번째 0는 시스템에서 실행중인 첫번째 X 윈도우를 뜻하고, 두번째 0은 첫번째 모니터를 의미한다.

xauth

X 윈도우 시스템은 호스트 기반의 인증뿐 아니라 사용자 기반 인증도 가능하다.

특정 사용자가 startx와 같은 명령으로 X윈도우를 실행하면 $HOME/.Xauthority라는 파일이 생성되고 이 파일에서 MIT-MAGIC-COOKIE-1라는 키 값을 가지고 있다. 이 키 값을 가지고 X 서버에 접속하면 해당 사용자로 인증하여 사용이 가능하다.


Last update : 15 décembre 2022
Created : 17 septembre 2019