Embedded : : Linux/: : Linux UX

윈도우 매니저 (Window Manager) - 리눅스 GUI 개요

Jay.P Morgan 2024. 5. 12. 02:40

 

   Window Manager

 

  윈도우 매니저를 크게 보면 컴포지터와 쉘로 나눌 수 있다.

 

  컴포지터는 각각의 윈도우 화면을 갱신하고, 겹쳐진 윈도우들의 내용을 가져와서 하나의 화면(클라이언트의 화면)으로 실제 스크린에 출력해주는 과정을 담당한다.

  쉘은 클라이언트의 윈도우를 옮기거나, 크기를 변경하는 역할과 배경화면과 시작 메뉴, 패널 등을 관리하는 역할을 한다.

 

  그래서 컴포지터는 기능적인 부분에 대한 최적화가 주요 이슈이고, 쉘은 정책적인 부분들에 대한 결정들이 주로 다루어진다.

 

※ 디스플레이 서버

 

 

  1.  Compositor (컴포지터)

 

  컴포지터 화면 위에 겹쳐있는 모든 윈도우들을 하나의 스크린 위에 합쳐서 보여주는 역할을 한다.

 

  예를 들어, 우리가 두 개의 웹브라우저를 겹치게 띄워놓고 하나의 웹브라우저를 마우스로 클릭하면, 선택한 웹브라우저가 앞으로 나와서 뒤에 있는 웹브라우저를 가리게 된다.

  반대로 뒤에 있는 웹브라우저를 마우스로 클릭하게 하면, 뒤에 있던 웹브라우저가 앞으로 나와서 이전에 앞에 있던 웹브라우저를 가리게 된다.

 

  이처럼 컴포지터는 모든 윈도우들의 우선순위를 이용하여 하나의 스크린 위에 차곡차곡 쌓은 것처럼 결과화면을 만들어주는 역할을 한다. 그리고 우리가 웹브라우저의 테두리를 마우스로 클릭해서 드래그하면 윈도우가 옮겨지고, 오른쪽 위에 있는 최대/최소 버튼을 누르게 되면 윈도우가 화면 전체를 덮거나 사라진다. 이러한 과정들은 바로 쉘이 처리해준다.

 

  즉, 모든 윈도우의 화면 상에서의 위치와 크기를 결정하는 것은 쉘의 역할이고, 이러한 정보를 이용하여 하나의 화면으로 합쳐주는 것이 컴포지터의 역할이다.

 

 

  2.  Shell (쉘)

  쉘은 윈도우를 옮기거나 크기를 변경하고 패널이나 배경화면, 시작 메뉴, 위젯 등을 보여주는 것은 모두 쉘의 역할이다. 쉽게 말해 우리가 일반적으로 윈도우 환경에서 사용하는 대부분의 기능들이 쉘에 의해 결정된다고 보면 된다.

 

'Embedded : : Linux > : : Linux UX' 카테고리의 다른 글

The Wayland Protocol 개요  (0) 2024.05.12
Wayland vs X11  (0) 2024.05.12
디스플레이 서버-클라이언트 구조 - 리눅스 GUI  (0) 2024.05.12