본문 바로가기

Linux

[리눅스 마스터 2급] 2과목 리눅스 운영 및 관리, 리눅스 활용

Part03 리눅스 활용

Chaper01 X-Windows

Section01 개념 및 사용법

1.  X-윈도우

MIT 라이선스가 적용된 SW는 X windows system, JQuery, Node.js가 있음

리눅스 초기에는 XFree86기반이 사용되었으나 현재는 X.org 기반이 사용됨, 디스플레이 장치에 의존적 x, 서로 다른 이기종 사용 가능, NW 프로토콜(X 프로토콜) 기반의 클라이언트/서버 시스템, 리눅스 환경의 각종 애플리케이션과 유틸리티에 대해 그랙픽 사용자 인터페이스 GUI를 제공, 플랫폼과는 독립적 작동하는 그래픽 시스템

X11, X, X Widow System 이라 함

 

특징

NW 기반의 그래픽 환경 지원, 이기종 시스템 사이에서도 사용 가능, 스크롤바, 아이콘, 색상 등 그래픽 환경 자원들이 특정 형태로 정의되어 있지 않음, 디스플레이 장치에 의존적이지 않으며 원하는 IF를 만들 수 있음

 

구성요소

XProtocol

X 서버와 클라이언트 사이의 메시지 타입, 메시지 교환 방법을 규정

 

Xlib

저수준의 IF로 키보드나 마우스에 대한 반응 등 단순한 기능만 가짐, C나 Lisp 언어로 만든 XProtocol 지원 클라이언트 라이브러리

윈도우 생성, 이벤트 처리, 창 조회, 키보드 처리와 같은 라이브러리 제공

 

XCB(X protocol C-language Binding) 이름이 쉽잖아~

Xlib를 대체하기 위해 등장한 클라이언트 라이브러리, 가장 저수준의 X 관련 클라이언트 라이브러리

라이브러리의 크기와 복잡성을 줄이고 x11 프로토콜로의 직접 접근을 제공하기 위한 x 관련 클라이언트 라이브러리

Xlib에 비해 향상된 스레딩 기능 지원

 


2. X-윈도우 설정과 실행

X-윈도우 실행 시, $HOME/.Xauthority 파일이 생성, 관련 키 값을 저장

이 파일에는 키 값 가지고 있음, 키 값 가지고 X 서버로 접근하면 해당 사용자로 인증하여 사용 가능하도록 함

인증키 설치하는 명령 :  xauth add $DISPLAY.키값

 

* $HOME/.Xauthority 파일

서버 컴퓨터에 원격으로 접속을 시도할 때 X 서버에 접속을 승인하는 정보(magic, cookie, 실행 관련 키)를 저장하고 있는 권리 파일(authority file)

 

명령어 starx

starx --[인자값]

그래픽 환경이 아닌 터미널 윈도우로 로그인한 경우에는 몇 개의 프로그램을 실행해야 함, X-윈도우를 실행하는 스크립트, 시스템 환경을 초기화하고 xinit를 호출, 인자값(argument)를 xinit에 전달하는 옵션은 "--"임

starx --:1

=> starx -- :nu 로 실행시킬 X 윈도 번호를 지정할 수 있음, nu는 윈도번호 -1임

starx -- -depth8 : 256 color 모드로 X 윈도를 실행, startx -- -depth 16은 하이컬러(16비트) 모드로 x윈도를 실행

 

3. 윈도우 매니저와 데스크톱 환경

윈도우 매니저, 디스플레이 매니저와 헷갈림

- 직접 비디오 카드, 마우스, 키보드 등에 접근하지 않고 디스플레이 서버를 통해서 접근

- 도크, 태스크 바, 프로그램 런처, 데스크톱 아이콘 등과 같이 다양한 유틸리티 제공,

- X 윈도우 상 창(윈도우)의 배치와 표현을 담당하는 시스템 프로그램

- 창 열기와 닫기, 창의 생성 위치, 창 크기 조정, 창의 외양과 테두리를 변화시킬 수 있음

- GNOME에서 사용하는 nautlus 파일 관리자(초기 사용), Metacity (GNOME2에서 사용), Mutter(GNOME3에서 사용하는 GNOME Shell) 

- KDE에서 사용되는 KWin 및 KWM 이 있음

 

윈도우 매니저의 대표적인 종류 

fvwm, twm, mw, windowMaker, AfterStep

 

데스크톱 환경(Desktop Environment, Desktop Manager)

GUI 환경을 이용하기 위해 사용자에게 제공하는 인터페이스 스타일, 파일관리자, 아이콘, 창, 도구 모음, 폴더, 배경 화면, 데스크톱 위젯을 제공

 

디스플레이 매니저(Display Manager)

x window system 상에서 작동하는 프로그램

런레벨3텍스트 유저 또는 명령어 유저 모드(Command User Mode) 환경으로 부팅됨

런레벨5그래픽 모드와 다중 사용자 모드

GNOME에서는 GDM을 사용, KDE에서는 KDM을 사용, 사용자 이름과 암호를 요청하고 유효한 값이 입력되면 세션을 시작

 

런 레벨(runlevel)

리눅스와 유닉스 시스템에서 시스템의 운영 상태를 나타내는 숫자
각 숫자는 시스템의 운영 모드서비스 상태를 정의하며, 시스템 부팅 시 어떤 상태로 시작할지를 결정합니다.

📌 런 레벨의 기본 의미

스템 부팅 후 어떤 환경(모드)에서 시스템을 실행할지를 설정하는 값

각 런 레벨은 시스템 서비스와 프로세스의 시작/중지 여부에 따라 다르게 설정됩니다.

 

KDE(Kool Desktop Environment) KDE(한국인) Qt하네

독일을 중심으로 한 인터내셔널 팀이 개발하는 오픈소스 데스크톱 환경

파일 매니저, 윈도우 매니저, 헬프 시스템, configuration 시스템과 각종 애플리케이션의 집합체

초기에는 자유 sw 라이선스가 아니었으나 추후에 GPL 라이선스 기반의 유닉스용 소스로 공개

GNOME 보다 먼저 개발, Qt 라이브러리를 사용하여 개발

최대한 많이 설정 항목 수를 보여줌

Juk : KDE 3.2에 포함되어 있는 음악 재생 프로그램

 

캉커러(konqueror)

웹 브라우저, 파일 관리자, 파일 뷰어의 기능을 담고 있는 KDE의 중심이 되는 프로그램

 

 

GNOME(GNU Network Object Model Environment) GNOME GTK+

GNU에서 만든 공개형 데스크톱으로 소스 공개 자유 SW, GTK(Gim Tool Kit+) 라이브러리를 기반으로 함

BSD와 GNU/리눅스에 포함되어 배포되고 있으며 다른 여러 UNIX 시스템에서도 작동, 설정 항목이 필요한 것만 보여줌

 

gedit

GNOME 데스크톱 환경에서 기본으로 제공하는 텍스트 편집기

 

간단하고 가벼운 텍스트 편집기, GUI 기반(그래픽 인터페이스 제공), 코드 편집 지원(문법 강조, 자동 들여쓰기 등)

다양한 플러그인 지원, UTF-8 지원(다국어 편집 가능

 

GNOME 기반 응용 프로그램

- nautilus, totem, evolution

 

 

LXDE(Light X11 Desktop Environment)

2006년부터 개발되었으며, 우분투 Peppermint OS, Raspbian 등의 배포판들에서 기본 데스크톱으로 채택

 

Wayland

리눅스나 유닉스 계열 OS에서 사용하는 X 윈도 시스템을 현대적이고 간결한 윈도 시스템으로 교체하는 것

기존의 X 를 대체할 목적으로 등장한 프로젝트, 개발 및 유지보수를 쉽게 하려는 것이 주목적

클라이언트 해당 프로토콜의 C 라이브러리 구현뿐만 아니라 클라이언트와 대화할 수 있는 compositor를 위한 프로토콜

 

 


Section02 X-윈도우 활용

1. 원격지에서 X 클라이언트 이용

명령어 xhost

X 서버에 접속할 수 있는 클라이언트를 지정하거나 해제, 호스트 기반 인증 방식을 사용하기 위해 필요한 유틸리티

X서버에게 디스플레이를 요청 시 해당 요청에 대해 허용 여부를 호스트 단위로 제어

xhost [+][-] [IP|도메인명]

 

명령어 Display

X 클라이언트 프로그램이 실행될 때 표시되는 창이 설정되는 환경변수

 

원격지에서 X 클라이언트를 이용하기 위한 설정을 ip 주소 기반으로 진행할 때 사용하는 조합? 

=> xhost, Display

 

명령어 xauth

.Xauthority 파일의 쿠키 내용을 추가, 삭제, 리스트를 출력하는 유틸리티, MMC 방식의 인증 방식을 사용하기 위한 필수 유틸리티

원격에서 접속하는 X 클라이언트를 허가할 때 IP 주소나 호트스명이 아닌 X-윈도우 실행 시에 생성되는 키값으로 인증할 때 사용

x-윈도우 응용 프로그램

evince 프로그램

텍스트 파일을 생성할 때 사용하는 프로그램, pdf 형식이나 포스트스크립트 형식의 문서를 GNOME 데스크톱 환경에서 읽을 수 있는 SW

 

오피스

LibreOffice 

- LibreOffice Writer : 워드프로세서 프로그램

- LibreOffice Calc : 스프레드시트 프로그램, Excel=Calculation 기능을 강조

LibreOffice 패키지에서 스프레드시트 실행 명령 : 주 메뉴 -> 오피스 -> OpenOffice.org Calc를 선택 or 쉘 프롬프트에서 oocalc 명령 입력하여 OpenOffice.org.Calc 프로그램이 실행됨

- LibreOffice Draw : 백터 그래픽 에디터(마이크로소프트의 비지오와 유사)

- LibreOffice Impress : 프레젠테이션 프로그램, 감동을 주다(Impress)에서 파생

 

grdit : 텍스트 편집 프로그램

kwrite : KDE 기반 텍스트 편집기

LibreOffice Impress
LibreOffice Draw

그래픽

GIMP : 사진/그림 편집 자유 SW, 어도비사의 Photoshop과 유사한 프로그램, 그래픽이나 로고 디자인, 사진 편집, 이미지 합성, 임지ㅣ 포맷 변환, 레이어 기법을 통한 이미지 작업

ImageMagicK

eog(Eye of GNOME) : GNOME 데스크톱 환경에서 기본 제공되는 이미지 뷰어, 빠르고 가벼운 이미지 보기 기능을 제공. PNG, JPEG, GIF, SVG 등의 다양한 이미지 파일을 열 수 있으며, 간단한 확대/축소 및 슬라이드쇼 기능도 포함. 터미널에서 eog <이미지 파일> 명령을 실행하면 해당 이미지를 바로 볼 수 있어요. 😊

kolourpaint

gThumb

gwenview

 

멀티미디어

Totem : GNOME 기반의 사운드 및 비디오 재생 프로그램

RHYTHMBOX : 통합형 음악 관리 프로그램

CHEESE : GNOME 기반의 카메라 재생 프로그램

KMid(KDE MIDI Player)  : 미디어 및 노래방 파일 플레이어, Linux KDE 환경에서 MIDI 및 Karaoke 파일을 재생할 수 있는 프로그램


기타

/etc/inittab

부팅 과정 중 init 프로세스가 /etc/inittab 파일을 참조, init 프로세스가 무엇을 해야 하는지 결정하게 되며, 시스템을 초기화하는데 역할 수행

 

RFC(Request for comments)

인터넷에서 기술을 구현하는 데에 필요한 절차 등을 제공하는 공문서 간행물

이 문서 내용의 대부분은 인터넷상에서 기술을 구현함에 있어서 요구되는 상세한 절차와 기본 틀을 제공

 

ISO(International Organization for Standardization) : 국제 표준화 기구

CVE(Common Vulnerabilities and Exposures) : 정보 보안 취약점 표준 코드

STD(SW Test Description) : SW 시험 명세서

 

ICANN(Internet Corporation for Assigned Names and Numbers) : 국제 인터넷 주소 관리 기구

98년에 설립 기관, 인터넷 도메인 이름, IP 주소, 프로토콜의 범주와 포트 번호 할당, DNS 관련 기능 감독, 도메인 분쟁의 조율과 중재  담당

IANA(Internet Assigned Numbers Authority) : 인터넷 할당 번호 관리 기관

IETF(Internet Engineering Task Force) : 국제 인터넷 표준화 기구

ITU(Internet Telecommunication Union) : 국제 전기 통신 연합