[리눅스마스터 2급 2차] 2과목 – 1. X윈도

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서버디스플레이 매니저파일 관리자윈도우 매니저
KDEXFree86, X.org serverKDMKonquerorKWM
GNOMEXFree86, X.org serverGDMnautilusGNOME2 – 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: 스크린샷 프로그램

Leave a Comment