X 윈도

IT 위키
(디스플레이 매니저에서 넘어옴)
X Window System; X11; X
유닉스·리눅스 계열 운영체제에서 그래픽 사용자 인터페이스를 제공하는 창 시스템
  • 1984년 MIT의 아테나 프로젝트(Project Athena)에서 시작했고, 1987년 발표된 X11이 지금까지 쓰이는 버전이다.
  • 운영체제의 일부가 아니라 응용 프로그램으로 동작한다. 그래서 X 윈도를 끄고 텍스트 환경만 쓸 수도 있다.
  • 런레벨 5(또는 systemd의 graphical.target)가 X 윈도가 실행되는 상태다.
  • 클라이언트-서버 구조 : 프로그램(클라이언트)과 화면·입력장치를 관리하는 쪽(서버)이 분리되어 있다.
  • 네트워크 투명성 : 원격 호스트에서 실행한 프로그램의 화면을 내 앞의 X 서버에 띄울 수 있다. 접속할 서버는 `DISPLAY` 환경 변수로 지정한다.
  • 정책과 구현의 분리 : 창의 모양이나 조작 방식을 X 자체가 정하지 않는다. 그래서 윈도 매니저를 바꾸면 화면이 완전히 달라진다.
  • 플랫폼에 독립적이며 소스가 공개되어 있다.

서버와 클라이언트의 방향

[편집 | 원본 편집]

일반적인 서버-클라이언트와 반대로 이해하기 쉬운 부분이다.

  • X 서버 : 사용자 앞에 있는 컴퓨터. 화면 출력과 키보드·마우스 입력을 담당한다.
  • X 클라이언트 : 응용 프로그램. 원격 서버에서 돌고 있을 수 있다.

구성 요소

[편집 | 원본 편집]
구성 요소 역할
X 서버 디스플레이와 입력 장치를 관리하고 화면에 그린다
X 클라이언트 실제 응용 프로그램
X 프로토콜 서버와 클라이언트가 주고받는 메시지 규약
Xlib / XCB X 프로토콜을 다루는 라이브러리
윈도 매니저 창의 이동·크기 조절·최소화, 제목 표시줄 등 창의 배치와 모양을 관리한다
디스플레이 매니저 그래픽 로그인 화면을 띄우고 사용자 로그인과 세션을 관리한다. xdm, gdm, kdm, sddm, lightdm이 있다
데스크톱 환경 윈도 매니저에 파일 관리자·패널·기본 응용 프로그램까지 묶은 통합 환경. GNOME, KDE 등

관리 주체

[편집 | 원본 편집]
  • 초기에는 MIT와 X 컨소시엄, Open Group이 관리했다.
  • 현재는 X.Org 재단(x.org)이 X11 구현인 X.Org 서버를 개발하며, 데스크톱 상호 운용성을 다루는 freedesktop.org와 함께 표준을 발전시키고 있다.
  • 후속 디스플레이 서버로 Wayland가 개발되어 최근 배포판의 기본값이 되고 있다.

관련 명령

[편집 | 원본 편집]
  • `startx` : 텍스트 환경에서 X 윈도를 시작한다
  • `xhost` : 다른 호스트의 접속 허용 여부를 지정한다 — 리눅스 xhost
  • `xauth` : 쿠키 기반으로 접속 권한을 관리한다 — 리눅스 xauth
  • `export DISPLAY=192.168.0.10:0.0` : 출력할 X 서버를 지정한다

같이 보기

[편집 | 원본 편집]