X 윈도의 특징
네트워크 프로토콜에 기반을 둔 그래픽 사용자 인터페이스 환경으로 디스플레이에 의존성이 없고 플랫폼 제약이 없어 다른 기종간 사용이 가능하다. 다양한 그래픽 환경을 제공하며 원하는 UI를 직접 편집할 수 있다.
X 윈도의 구조
클라이언트/서버 구조로 되어있으며 통신을 위해 X Protocol을 사용한다. X 서버란 그래픽을 제공하는 시스템이고, X 클라이언트는 서버 위에서 동작하는 응용프로그램이다. 로컬 사용자가 입력 장치를 사용하면 TCP 6000 포트로 전달되고, X 클라이언트 프로그램이 실행된다.
Xlib
Xlib란 C언어로 구현된 클라이언트 라이브러리로 X 서버와 통신을 한다. 관련 프로토콜의 정보가 없어도 Xlib를 통해 다양한 프로그램 구현이 가능케한다. Xlib는 저수준 인터페이스로 마우스, 키보드에 대한 단순 반응 기능만 가지고 있다. 최근 Xlib를 포함하는 고수준의 라이브러리가 많이 등장하였다. GTK+, Qt, FLTK, X Forms 등
X.org에서 XCB로 대체하여 사용하는데 보다 향상된 쓰레딩 기능과 확장성을 지원하며 라이브러리의 크기가 작고 X 프로토콜에 직접 접근을 허용한다.