X window
개념¶
주로 유닉스 계열 운영체제에서 사용되는 윈도우 시스템이다.
특징¶
- 네트워크 프로토콜에 기반한 GUI환경
- 디스플레이 장치에 의존적이지 X, 뛰어난 이식성
- 스크롤바, 아이콘, 색상 등 그래픽 환경에 필요한 자원 특정한 형태로 지원 X
- 사용자가 원하는 모양의 인터페이스를 만들 수 있음
구조¶
- 클라이언트/서버 구조
- 네트워크 기반의
X Protocol
으로 통신 - 로컬에서도 TCP 포트로 통신
- X 클라이언트는 X 서버 위에서 돌아감
X서버¶
XFree86¶
- IBM시스템을 사용하는 유닉스 계열 운영체제를 위한 X윈도우 프로젝트
- 현재는 OS X, BSD게열, OS/2를 비롯한 다양한 OS를 지원한다
X.org¶
X.org 파운데이션
에서 관리되는 X서버 패키지- X-org Server라고도 한다.
- 자유 소프트웨어
X클라이언트¶
Xlib¶
- C언어로 구현된 클라이언트 라이브러리
- X 서버와 대화를 해줌
- 저수준 인터페이스로 기본 입출력 기능만 가능
XCB¶
- Xlib보다 향상된 쓰레딩 기능
- 뛰어난 확장성
- 작은 라이브러리 크기
- 직접 X 프로토콜 접속 기능
사용방법¶
설정¶
X 윈도우를 사용하기 위해서 그래픽 카드 설정은 필수이다. XFree86
을 사용하던 초기 리눅스 배포판에서는 X 윈도우를 설정하기 위해서 명령어를 사용해야 했다. 하지만 최근 배포판에서는 자동으로 그래픽 카드를 인식하거나 호환 모드로 설정해주기 때문에 바로 X 윈도우를 사용할 수 있다.
실행¶
X 윈도우 실행방법
- 부팅시 X윈도우 실행(Runlevel 5)
- 텍스트 모드(Runlevel 3)에서 실행
리눅스의 부팅모드는 /etc/inittab
에서 설정한다.
그래픽 환경 기반 설치 유틸리티인
anaconda
를 사용하면 기본 설정이 level5이다.
텍스트 모드로 부팅이 되는 경우에는 로그인 이후 startx
명령어를 사용해서 X윈도우를 실행시킬 수 있다.
주요 옵션
옵션 | 설명 |
---|---|
– | 명령행의 인자값을 xinit에게 넘겨준다 |
데스크톱 환경¶
GUI환경을 이용하기 위해 사용자에게 제공되는 인터페이스 스타일
KDE¶
- Qt라이브러리 기반
yum install konq-plugins
으로 패키지를 설치할 수 있다.
Dolphin
이라는 파일 관리자를 사용한다.
GNOME¶
- GNU에서 만든 데스크톱 환경
- GPL 라이선스를 해제한 Qt 라이브러리 기반의 KDE의 대안
- 데스크톱 부분과 라이브러리는
LGPL
준수 - 응용프로그램은
GPL
를 따름
초기버전에서는
nautilus
라는 파일 관리자를 이용하였고, v2부터metacity
라는 윈도우 매니저를 v3부터는Mutter
를 사용하고 있다.
윈도우 매니저¶
X 윈도우 환경에서 윈도우의 배치와 표현을 담당하는 시스템 소프트웨어로 도그, 태스크 바, 프로그램 런처, 데스크톱 아이콘, 바탕화면 등을 포함한다.
GNOME에서 사용된
nautilus
,metacity
나 KDE에서 사용된KWin
과 같이 X 윈도우 시스템에서 사용되는 윈도우 매니저를X 윈도우 매니저
라 한다.
X 윈도우 활용¶
원격지에서 X 클라이언트 이용¶
X 윈도우는 서버와 클라이언트가 독립적으로 동작하는 네트워크 지향 시스템이므로 원격에서 X클라이언트를 실행할 수 있다.
xhost¶
X 서버에 접근 가능한 클라이언트를 지정하거나 해제한다.
display¶
X 클라이언트가 실행될 때 표시되는 창이 설정되어 있는 환경변수로 기본값:0.0
첫번째 0는 시스템에서 실행중인 첫번째 X 윈도우를 뜻하고, 두번째 0은 첫번째 모니터를 의미한다.
xauth¶
X 윈도우 시스템은 호스트 기반의 인증뿐 아니라 사용자 기반 인증도 가능하다.
특정 사용자가 startx와 같은 명령으로 X윈도우를 실행하면
$HOME/.Xauthority
라는 파일이 생성되고 이 파일에서MIT-MAGIC-COOKIE-1
라는 키 값을 가지고 있다. 이 키 값을 가지고 X 서버에 접속하면 해당 사용자로 인증하여 사용이 가능하다.
Created : 17 septembre 2019