X 윈도
리눅스에서 사용하는 네트워크 프로토콜에 기반을 둔 GUI 환경인 X 윈도는
부팅 시 /etc/inittab에서 Runlevel 5를 설정해서 사용할 수 있습니다.
X 윈도는 장치에 의존적이지 않으며 이식성이 뛰어나고
그래픽 환경의 자원들이 정해져 있지 않아서 사용자가 따로
원하는 모양의 인터페이스를 만들 수 있는 특징이 있습니다.
여기서 인터페이스에 사용되는 디스플레이 매니저, 윈도 매니저 등은
제조사에 따라 종류와 특징 및 라이선스가 다양하게 나뉩니다.
그중 대표적인 데스크톱 환경인 GNOME와 KDE에 대해서
간략하게 알아보려고 합니다.
X 관련 라이브러리
라이브러리란 프로그램 개발 시에 사용되는 비휘발성 자원의 모임으로
보통 작성된 코드나 문서, 데이터 등이 들어갑니다.
보통 특정 기술이나 프로그램을 작성할 때 필요한 기본적인 데이터를 저장해서
후에 다른 프로그램 개발 시에 빠르게 적용하기 위한
데이터의 모음집이라고 생각하셔도 무방합니다.
X 관련 라이브러리 중 대표적인 Xlib는 C언어로 구현되었으며 X 서버와 대화하기 위한
역할을 수행하면서 여러 프로그램을 구현할 수 있게 합니다.
하지만 Xlib는 저수준의 라이브러리로 취근에는 Xlib를 포함한
고수준의 라이브러리인 GTK+, Qt, Xt, SDL, XCB 등이 있습니다.
데스크톱 환경
데스크톱 환경 (DE)라 하면 대표적으로 GUI 환경을 이용하기 위해
사용자에게 제공되는 인터페이스 스타일을 말합니다.
그 안에는 윈도 매니저와 아이콘, 배경화면, 도구 모음 등 기본적인
환경에 필요한 대부분의 요소가 들어가 있습니다.
윈도 매니저
데스크톱 환경에 포함되는 윈도 매니저는 X 윈도에서 배치나 표현을
담당하는 소프트웨어로 데스크톱 환경 구성에 도움을 주기 위해 만들어졌습니다.
기본적인 기능으로 창 열기 / 닫기, 최대화 / 최소화 화면 관리나
윈도의 외양, 테스트 바, 아이콘, 바탕화면 등 다양한 화면 구성원을
사용자 마음대로 바꾸고 관리할 수 있게 만들어줍니다.
사용자의 키보드나 마우스 같은 입력장치는 X 윈도의 디스플레이 서버를 통해
윈도 매니저에 접근해서 사용하게 됩니다.
디스플레이 매니저
그래픽 모드 (런레벨 5)에서 실행되는 디스플레이 매니저는
사용자가 접속할 때 부팅과 동시에 실행되며 로그인 창이 나타납니다.
디스플레이 매니저의 가장 큰 역할은 사용자가 접속할 때
계정을 요청하고 정상적으로 세션을 시작하는데 도움을 주는 것입니다.
KDE (K Desktop Environment)
자유 소프트웨어 데스크톱 환경 중 하나인 KDE는
대부분의 유닉스, 리눅스 운영체제에서 동작하며 Qt라이브러리를 사용합니다.
하지만 Qt라이브러리는 자유 소프트웨어 라이선스가 아닙니다.
이후 자유 소프트웨어를 추구하는 KDE의 프로그래머 중 GNU 프로젝트의 회원들은
걱정이 많았고 결국 다른 데스크톱 환경인 GNOME 프로젝트를 시작하게 되었습니다.
<사용하는 환경>
<주요 프로그램>
GNOME (GNU Network Object Model Environment)
GNU 프로젝트 회원들이 만든 공개형 데스크톱 프로그램인 GNOME는
KDE의 대안으로 만들어졌으며 LGPL라이선스를 따르는 GTK+라이브러리를 사용합니다.
GPL 라이선스를 따르게 되면 호환되지 않는 소프트웨어가 있었지만
LGPL라이선스는 GPL보다 많은 것이 허용되었으며 더 넓은 범위의 라이선스와
그에 맞는 소프트웨어를 사용할 수 있었습니다.
무엇보다 많은 사람이 단순하고 쉽게 사용할 수 있게 만드는 것에
목적이 있었고 소스코드가 공개되었으며 자유로운 프로그래밍 언어를 허용합니다.
따라서 현재 X 윈도에서는 GNOME의 프로그램을 가장 많이 사용합니다.
<사용하는 환경>
<주요 프로그램>
'개인 > 리눅스' 카테고리의 다른 글
[리눅스] 기본 간단 쉘프로그래밍 작성 및 실행방법 (0) | 2020.01.29 |
---|---|
리눅스 쉘의 종류와 bash 쉘 기능 (0) | 2020.01.26 |
리눅스 주요 라이선스의 특징 및 클러스터 (0) | 2020.01.24 |
리눅스 배포판의 특징 (데비안,레드햇) (0) | 2020.01.23 |
리눅스 시스템 구조와 특징 (0) | 2020.01.21 |