*이기적 영진닷컴 Youtube Link - https://www.youtube.com/watch?v=EME0JFA3YDY&list=PL6i7rGeEmTvp_MYm0zuiFe7COrM3endfu&index=22
X-윈도우의 특징
리눅스 환경 각종 애플리케이션에 대해 그래픽 사용자 인터페이스를 제공해주는 플랫폼
리눅스는 CUI(Command User Interface) 기반
GUI 형태로 전환하게 해준 플랫폼을 X-Windows라고 이야기한다.
X-윈도우는 X11, X, X Window System이라 한다.
- 네트워크 환경의 그래픽 카드도 지원 가능
- 이기종 시스템 사용 가능 (윈도우내에서도 삼바 등 특정 프로토콜을 이용해서 x-windows 화면을 그대로 볼 수 있고, 활용할 수 있다.)
- 표준화된 x-windows는 없다. (스크롤바, 아이콘, 색상 등)
- 디스플레이 장치에 의존적이지 않음(커스터마이즈할 수 있는 장점)
X-windows는 네트워크 프로토콜(x프로토콜) 기반의 클라이언트/서버 프로그램으로 나뉘어진다.
서버는 클라이언트들의 디스플레이에 관한 접근 허용, 클라이언트 간의 자원 공유, 네트워크 메시지 전달, 클라이언트와 입출력 기기와의 중계를 담당한다.
클라이언트는 애플리케이션으로 x 서버가 제공하는 기능들을 이용한다.
오픈 데스크톱 환경으로 KDE, GNOME, XFCE 등이 있다.
윈도우 매니저 - x 윈도우를 하다보면 창을 닫고 열고, 창 크기 조절, 테두리 색상 조절
디스플레이 서버 - 서비스를 클라이언트가 사용할 수 있는 환경설정을 지정하게 되면 클라이언트가 받아서 처리를 하게 된다.
x-free 86 인텔 x86 운영체제에서 사용하는 서버 프로그램, 무료, 다양한 환경설정을 해야 한다. xf86 config 파일이 이를 담당한다. etc/x11이나 usr/x11rulibraryx11에 위치하게 된다. 폰트, 키보드 마우스 , 모니터, 비디오카드 이러한 색상정보를 설정할 수 있고, 세부적으로 살펴볼 수 있다. 좀 더 세부적으로 살펴보면 xconfiglater xf86config xf86setup 이렇게 3개의 환경설정 파일로 나뉘어진다.
X 프로토콜 - 서버와 클라이언트 사이에 오가는 데이터를 서버 프로토콜에 의해서 제어를 하게 된다. 메시지 교환 방법 규정, 메시지 타입 규정. 리퀘스트에 대해서 응답을 하거나 오류 메시지를 보내주거나 하는 다양한 기능들을 한다. 클라이언트와 서버 사이에 오가는 다양한 메시지들을 제어해주는 프로토콜.
클라이언트 라이브러리 - 다양한 툴킷을 이용해서 작업이 진행된다. (Xlib, XCB)
Xlib는 C나 리스프 언어로 만들어진 클라이언트 라이브러리 (윈도우 생성, 이벤트 처리, 창 처리, 키보드 처리 업무 담당)
현재는 XCB로 대처되서 현재는 x12라는 클라이언트 라이브러리를 사용하고 있다. 향상된 쓰레드 기능을 지원하거나 확장성 같은 것에서 기존 x라이브러리 보다는 뛰어난 라이브러리가 XCB이다.
GTK+, QT, FLTK, XForms 등의 라이브러리를 쓰고 있다.
특히 x-toolkit을 이용해서 좀 더 고급 레벨의 GUI를 생성할 수 있다.
x-toolkit을 기반해서 사용하게 된다.
x-toolkit에는 위젯이나 xt 인트랙시기라는 라이브러리를 포함하고 있어서 스크롤바나 메뉴 등 GUI 구성하는 객체들을 만들 수 있거나 위젯 라이브러리 기본 함수들의 집합을 사용할 수 있게 되어서 좀 더 고급 스러운 GUI 구성을 위해 사용하게 된다.
/etc/inittab
id 뒤에 레벨을 5로 하시면 x-windows로 부팅이 된다.
런레벨을 3으로 부팅을 하면 CUI 기반으로 부팅을 하게 된다.
x-windows 환경이 스크립트 환경이기 때문에 xinit을 호출해서 작동을 하게 된다.
환경변수는 display가 주로 있다.
export DISPLAY=IP주소:디스플레이번호.스크린번호
감사합니다.
'리눅스' 카테고리의 다른 글
[리눅스 마스터 2급] 03-02-01 네트워크 개념 (0) | 2024.11.25 |
---|---|
[리눅스 마스터 2급] 03-01-02 X-윈도우 활용 (1) | 2024.11.25 |
[리눅스 마스터 2급] 02-06-02 주변 장치 활용 (1) | 2024.11.24 |
[리눅스 마스터 2급] 02-06-01 주변 장치 연결 및 설정 (0) | 2024.11.23 |
[리눅스 마스터 2급] 02-05-02 소스 파일 설치 (0) | 2024.11.23 |