1과목: 리눅스 운영 및 관리
2과목: 리눅스 활용
1. X윈도(X Window)
1. 1. 개념 및 사용법
1. 1. 1. X Window의 개념
- Linux환경의 각종 어플리케이션과 유틸리티에 대해 GUI 제공
- 플랫폼과 독립적으로 작동하는 그래픽 시스템
- TCP/IP 네트워크 기반의 X프로토콜로 통신하는 클라이언트/서버 시스템
- cf) 클라이언트: 어플리케이션을 이용하여 X서버의 기능 이용
- cf) 서버: 클라이언트의 디스플레이 접근 제어, 클라이언트 간 자원 공유, 메시지 전달, 클라이언트와 입출력 장치의 중계
- 오픈 데스크톱 환경: KDE, GNOME, XFCE ★
X Window의 구성요소 ★
- X프로토콜: Xlib, Xtoolkit 인터페이스 사용
- Xlib: C언어로 구현된 클라이언트 라이브러리, X서버와 대화를 해주는 역할, X관련 라이브러리 중에 가장 저수준의 라이브러리
- XCB: Xlib의 대체로, 향상된 쓰레드 지원 및 확장성이 뛰어난 라이브러리
- Xtoolkit: 고급 GUI개발, Widget과 Intrinsic지원
- XFree86: IBM 호환 시스템을 사용하는 UNIX계열 운영체제를 위한 X Window프로젝트로 1992년 시작. X86 계열의 X서버, 무료
- XF86Config: XFree86 설정파일
1. 1. 2. X Window의 사용 ★
X Window 설정 – /etc/inittab
- Linux 부팅 시 X윈도를 실행하기 위해 init프로세스가 /etc/inittab 파일 참조
- 리눅스 사용 환경 초기화
- cf) /etc/inittab형식: 이름 : 런레벨 : 옵션 : process -[옵션]
- cf) 런레벨 3: 텍스트 모드(CUI)
- cf) 런레벨 5: 그래픽 모드(GUI)
X Window 실행
#startx -- [값]
- x윈도우를 실행시키는 스크립트로, 시스템 환경을 초기화하고 xinit을 호출
- startx 실행 시 인자값을 xinit에 전달하는 옵션은 ‘–‘이다.
- cf) id:5:initdeault : 리눅스 부팅 시 X Window가 실행되도록 관련 파일을 수정하려고 할 때 설정하는 내용
- cf) X Window와 가장 관계가 깊은 TCP 포트번호: 6000
startx -- :1 # 두 번째 윈도 터미널에 X Window를 실행
환경변수 $DISPLAY ★★★
#export DISPLAY=[IP주소]:[Display번호].[스크린번호]
- 현재 X Window의 Display위치를 지정
- cf) 0: 첫 번째, 1: 두 번째, 2: 세 번째
윈도우 매니저 ★★
- 윈도우 창의 배치와 표시를 담당하는 프로그램
- 창 닫기, 최소화, 최대화, 태스크바 등과 같은 다양한 유틸리티 제공
- 라이브러리: Xlib, XCB
- 종류: metacity, mutter, fvwm, twm, mw, windowmaker, AfterStep
- cf) metacity: GNOME 윈도우 매니저
- cf) mutter: GNOME 3버전의 기본 윈도우 매니저. metacity의 후속
데스크톱 매니저 ★★
- GUI 환경을 이용하기 위해 사용자에게 제공되는 인터페이스 스타일
- 윈도우 매니저, 파일 관리자, 아이콘, 창, 도구 모음, 폴더 등 다양한 도구를 제공하는 패키지 형태의 프로그램
- Drag & Drop과 같은 프로세스 간의 통보와 같은 기능도 지원
- 종류: KDE, GNOME, Xfce, Lxde 등
[KDE] ★★★
- QT 라이브러리를 기반으로, GNOME보다 먼저 개발
- Linux 뿐만 아니라 FreeBSD, Solaris, OS X 등 지원
[GNOME] ★★★
- GNU프로젝트에 의해 만들어짐
- 라이센스 정책: 데스크톱, LGPL, GPL
- gedit: 문서 편집 프로그램
- GIMP: 그래픽 편집 프로그램
- eog: 그래픽 뷰어
- evince: PDF 뷰어
- totem: 동영상 플레이어
- evolution: 메일, 주소록, 일정 등 개인 정보 관리
디스플레이 매니저 ★★
- X Window 시스템에서 동작하는 프로그램
- X서버 접속(로그인) 및 세션 관리 담당
- 사용자에게 그래픽 로그인 화면을 보여주고, ID와 password를 입력받아 인증을 진행
- 인증이 정상적으로 완료되면 세션을 시작
- 종류: KDM, GDM, XDM, dtlogin 등
- cf) KDM: KDE의 디스플레이 매니저
- cf) GDM: GNOME의 디스플레이 매니저, GTK, GNU GPL
cf) GNOME vs KDM
데스크톱 환경 | X서버 | 디스플레이 매니저 | 파일 관리자 | 윈도우 매니저 |
---|---|---|---|---|
KDE | XFree86, X.org server | KDM | Konqueror | KWM |
GNOME | XFree86, X.org server | GDM | nautilus | GNOME2 – Metacity GNOME3- Mutter |
1. 2. X Window 활용
1. 2. 1. X 클라이언트 이용 ★
#xhost ★
: 호스트 기반 인증 방식으로, X 서버에 클라이언트 접속을 허용/금지
#xhost [ + | - ] [ IP | 도메인 ]
[명령어]
xhost: 현재 상태 확인
xhost +: X 서버에 모든 클라이언트 접속 허용
xhost -: X서버에 모든 클라이언트 접속 금지
xhost + [IP]: 지정 IP를 가진 호스트의 접속 허용
xhost – [IP]: 지정 IP를 가진 호스트의 접속 금지
#xauth ★
: MMC(MIT-MAGIC-COOKE)방식의 인증을 사용하기 위한 유틸리티
- X Window 실행 시 생성되는 키 값으로 인증
- .Xauthority 파일의 쿠키 내용을 추가, 삭제, 리스트 출력하는 유틸리티
- 사용자 인증 기반을 지원하기 위해 $HOME/.Xauthority의 rw권한 필요
cf) .Xauthority: 사용자가 X Window 실행시에 관련 키 정보를 저장하는 파일
1. 2. 2. X Window 응용 프로그램 ★
오피스 ★★★
- LibreOffice: 오피스 프로그램 패키지
- LibreOffice Writer: 문서 편집기
- LibreOffice Impress: 파워포인트
- LibreOffice Calc: 스프레드 시트
- LibreOffice Draw: 드로잉 프로그램
- gedit: GRNOME 텍스트 편집기
- kwrite: KDE 텍스트 편집기
그래픽 ★★
- gwenview: KDE의 기본 이미지 뷰어 프로그램
- eog(eye of gnome): GNOME의 이미지 뷰어 프로그램
- gThumb: GNOME의 이미지 뷰어 프로그램
- ImageMagick: 이미지 생성 및 편집 프로그램.
- Linux, Windows, Mac OSX 등 다양한 운영체제 지원
- bitmap, gif, jped, png 등 다양한 포맷 지원
- GIMP: GNOME 이미지 편집기
cf) ImageMagick은 커맨드 라인에서 이미지를 처리하며, 단순 작업 등에 사용
cf) GIMP는 오픈 소스 이미지 편집 소프트웨어로 다양한 작업을 위한 강력한 기능 제공 - kolourpaint: Ubuntu 이미지 편집 프로그램(그림판)
멀티 미디어 ★
- rhythmbox: 통합형 음악 관리 프로그램
- totem: GNOME의 사운드 및 비디오 재생 프로그램
- cheese: GNOME의 카메라 동영상 프로그램
개발
- Eclipse: 통합 개발 환경으로 Java를 비롯한 다양한 언어 지원
기타
- Dolphin: KDE용 파일 관리자
- KSnapshot: 스크린샷 프로그램