X Window 개념
X Window 정의
- X Window 란 플랫폼 독립적으로 작동하는 GUI 환경
- 서버 클라이언트 구조를 기반으로 X protocol 을 통해 디스플레이 장치에 윈도우를 그려주고 입력장치를 통해 상호작용
X Window 특징
- X protocol 이라 불리는 네트워크 프로토콜을 사용
- 서버 클라이언트 모델을 사용하여 네트워크로 연결될 수만 있다면 X 윈도우를 이용할 수 있음
- X server 는 X client 의 요청에 대하여 처리 후 응답하거나 이벤트를 직접 X client 에게 보낼 수 있음
- X client 는 remote X server system 에서 동작하는 프로그램을 실행할 수 있음
- X Window 는 사용자 인터페이스에 독립적
- 서버 클라이언트 모델을 사용하므로 이론적으로 X protocol 만 준수할 수 있다면 어떤 시스템이든 이식이 가능
X Window 구조
X server
- 키보드, 마우스, 화면과 같은 디바이스와 직접 통신 수행
- 디스플레이 장치를 제어하여 X client 에게 디스플레이 서비스 제공
- X server 는 local X client 와 통신하기 위해
/tmp/.X11-unix/X0라는 유닉스 도메인 소켓을 사용 - X server 는 remote X client 와 통신하기 위해 TCP 포트 6000번 사용
- local 및 remote 의 다수의 X client 연결 허용
X client
- Xlib 을 사용하여 작성된 응용 프로그램
- 디스플레이 관련 서비스를 X server 에 요청
- X server 에서 발생한 이벤트를 처리
X protocol
- X protocol 이란 X server 와 X client 가 정보를 주고 받기 위한 메시지 형식을 정의한 통신 규약
- X protocol 기본 메시지는 Request, Reply, Event, Error 로 구성
- X server 와 X client 는 X protocol 메시지를 처리하기 위해 request queue, event queue 를 운용
- X protocol 을 통해 X server 와 X client 는 높은 이식성을 갖고, remote 에서 local 에서 접속하는 것과 같은 동일한 사용자 경험을 갖는 것이 가능해 짐
Xlib/XCB
- Xlib 은 C 언어로 작성된 X Window 시스템 프로토콜 클라이언트 라이브러리
- 개발자는 Xlib 에서 제공하는 API 를 통해 X client 개발 가능
- Xlib 기반으로 강력한 라이브러리 제공. e.g. Xt, XaW, Motif, FLTK, GTK+, Qt, Tk, SDL, SFML
- XCB 는 Xlib 을 대체하기 위해 시작된 프로젝트. X.org 에서는 XCB 를 직접 사용
X.Org
The X.Org project provides an open source implementation of the X Window System. The development work is being done in conjunction with the freedesktop.org community. The X.Org Foundation is the educational non-profit corporation whose Board serves this ef
www.x.org
Documentation for the X Window System
Documentation for the X Window System
www.x.org
'Linux' 카테고리의 다른 글
| 리눅스 주요 디렉터리 구조 (0) | 2022.02.02 |
|---|---|
| 리눅스 개요 (0) | 2022.01.31 |