-
<Linux 마스터 2급> X-윈도우의 특징과 구성 요소Linux 마스터 2급 2021. 11. 6. 01:00
■개념과 특징
1. 리눅스 한경의 각종 App과 유틸리티에 대해 GUI(Graphic User Interface)를 제공
2. 플랫폼과 독립적으로 작동하는 그래픽 시스템
3. X-윈도우는 X11, X, X Window System
4. X 윈도우의 출현 배경
Athena(아데나) 프로젝트 · IBM과 MIT, DEC Athena 프로젝트를 통해서 Bob Scheifler와 Jim Gettys가
1984년에 X-윈도우를 처음으로 개발
· 1987년 오픈 소스 프로젝트 하에 x11 발표x 컨소시엄 · 1988년 여러 컴퓨터 제조업체로 구성
· x11 버전이 처음 개정되어 x11r2에서 x11r6까지 발표
· x11r6.3을 끝으로 x컨소시엄 해체오픈 그룹 · 1996년 오픈 소프트웨어 재단과 x/open으로 형성된 그룹
· x11r6.4 발표X.org · 1999년 오픈 그룹을 기반으로 2004년에 x.org 재단이 만들어짐
· 2004년 9월 x11r6.8 발표5. X-윈도우의 특징
· 네트워크 기반의 그래픽 환경을 지원
· 이기종 시스템 사이에서도 사용 가능
· 스크롤바, 아이콘, 색상 등 그래픽 환경 자원들이 특정 형태로 정의되어 있지 않다.
· 디스플레이 장치에 의존적이지 않으며 원하는 인터페이스를 만들 수 있다.
6. X-윈도우는 네트워크 프로토콜(X프로토콜) 기반의 클라이언트/서버 시스템
· 서버 프로그램과 클라이언트 프로그램으로 나누어 작동
· 서버는 클라이언트들의 디스플레이에 관한 접근 허용, 클라이언트 간의 자원 공유, 네트워크 메시지 전달, 클라이언트와 입출력 기기와의 중계를 담당
· 클라이언트는 App으로 X 서버가 제공하는 기능들을 이용
7. 오픈 데스크톱 환경으로 KDE, GNOME, XFCE
■구성요소
1. 구성요소의 종류
XProtocol · X 서버와 클라이언트 사이의 메시지 타입, 메시지 교환 방법을 규정
· 요구(request), 응답(reply), 오류(error), 입력 발생(event)으로 구성
- 서버는 클라이언트에게 요구를 받으면 신호를 처리해서 응답, 오류, 입력 발생등의 신호를 클라이언트에게 전송
· Xlib(저수준 인터페이스)와 Xtoolkit(상위 수준 인터페이스) 사용Xlib C나 Lisp 언어로 만든 XProtocol 지원 클라이언트 라이브러리
- 윈도우 생성, 이벤트 처리, 창 조회, 키보드 처리와 같은 라이브러리 제공XCB Xlib를 대체하기 위해 등장한 클라이언트 라이브러리
- Xlib보다 향상된 스레드 기능을 지원하고 확장성이 뛰어남
- 라이브러리의 크기가 작고 단순
- XProtocol에 직접 접근 가능Xtoolkit · Xlib로 스크롤바, 메뉴, 버튼 등의 GUI 부품을 개발 시 효율성 문제 발생
· 고급 레벨의 GUI 생성 시 Xtoolkit 이용
· Xtoolkit은 Widget과 Xt Intrinsic을 포함
+ XView, Xaw, Motif, Qt, KTK 등XFree86 · 인텔 X86 계열의 유닉스 운영체계에서 동작하는 X 서버
· 어떤 목적에 사용하든 무료로 사용XF86Config XFree86 설정 파일
- X 서버는 XF86Config 파일을 찾아 읽음
- 위치는 /etc/X11 또는 /usr/X11R6/lib/X11
- 폰트, 키보드, 모니터, 마우스, 비디오카드, 색상 설정에 관한 정보 포함
Xconfigurator : 텍스트 터미널에서 쓰는 다른 X 환경 설정
XF86Config : X를 위한 기본 환경 설정(텍스트 터미널에서 실행)
XF86Setup : X를 위한 X-윈도우 환경 설정2. xlib와 XCB와 관련된 라이브러리
'Linux 마스터 2급' 카테고리의 다른 글
<Linux 마스터 2급> 윈도우 매니저와 데스크톱 환경 (0) 2021.11.09 <Linux 마스터 2급> X-윈도우 설정과 실행 (0) 2021.11.08 <Linux 마스터 2급> 스캐너 관련 명령어 (0) 2021.11.02 <Linux 마스터 2급> 사운드 카드 관련 명령어 (0) 2021.11.02 <Linux 마스터 2급> 프린터 관련 명령어 (0) 2021.11.02