2024/05/12 4

The Wayland Protocol 개요

0. Intro   오늘날, 리눅스 UX 관련해서 부각되는 것 중에 하나는 바로 WAYLAND 이다. (WAYLAND 는 기존의 윈도우 매니저를 개발하기 위해 사용해왔던 X11 프로토콜을 대체하는 프로토콜이다.) 대다수의 핵심 UX 관련 프로젝트들(GTK+, Qt, Clutter 등등)이 Wayland를 백엔드로 지원하기 위한 작업들을 진행 중이고, 짧은 시간 동안 상당 부분 진척이 이루어졌다..    사실 현재 X11은 Wayland에서 제공하는 기능들을 전혀 제공하지 못하는 것은 아니다. (심지어 X12 프로젝트 또한 진행 중이다.) 하지만 중요한 것은 이와 같은 여러 가지 이유로 모두가 X 를 버리고 새롭게 시작하기를 원한다는 것이다.다음은 기술적인 그리고 구조적인 몇 가지 이유를 설명하도록 하겠다..

Wayland vs X11

0. Wayland란   Wayland는 리눅스 데스크탑 환경을 구현하기 위한 프로토콜로, 데스크탑 환경은 크게 컴포지터와 쉘로 구분합니다.  Wayland는 컴포지터와 쉘의 구현을 돕는 API와, 쉘이 어플리케이션과 통과할 수 있도록 프로토콜을 제공합니다.    1. Wayland의 장점   1.1  성능  Wayland는 X 서버에 비해 대기 시간을 줄이고 전반적인 성능을 향상시키는 것을 목표로 간결하고 효율적으로 설계되었습니다. 이는 X Server에 존재하는 레거시 기능과 오래된 메커니즘 중 일부를 제거하여 더 부드럽고 응답성이 뛰어난 사용자 인터페이스를 제공함으로써 이를 달성합니다.     1.2  보안  Wayland는 처음부터 보안을 염두에 두고 구축되었습니다. 보다 안전한 아키텍처를 채택하..

[리눅스 GUI] 디스플레이 서버-클라이언트 구조

0. Intro - 윈도우 매니저의 서버-클라이언트 구조   주로 사용하는 리눅스 UX 프로토콜로는 Wayland와 X11(X Window Manager)가 있다.  먼저, X11을 통해 윈도우 매니저의 구조를 살펴보자.    1. X11  1.1 X11 서버-클라이언트 구조의 이해     X 서버와 X 클라이언트를 이해하기 위해, 메모장을 예로 들어보자. 메모장은 X 클라이언트가 된다. 웹브라우저, 동영상 재생기, 게임 같은 모든 GUI 프로그램을 X 클라이언트라고 생각해도 무리는 없다. 메모장을 실행하면X 클라이언트 메모장에 실행 명령이 전달되고호출을 받은 메모장은 X 서버에 "가로세로 크기는 이만큼, 배경색과 글자색은 이렇게, 커서는 깜빡일 것." 하고 X 서버로 X 프로토콜을 날린다.이제 X 서버..

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

Window Manager   윈도우 매니저를 크게 보면 컴포지터와 쉘로 나눌 수 있다.   컴포지터는 각각의 윈도우 화면을 갱신하고, 겹쳐진 윈도우들의 내용을 가져와서 하나의 화면(클라이언트의 화면)으로 실제 스크린에 출력해주는 과정을 담당한다.  쉘은 클라이언트의 윈도우를 옮기거나, 크기를 변경하는 역할과 배경화면과 시작 메뉴, 패널 등을 관리하는 역할을 한다.   그래서 컴포지터는 기능적인 부분에 대한 최적화가 주요 이슈이고, 쉘은 정책적인 부분들에 대한 결정들이 주로 다루어진다. ※ 디스플레이 서버    1.  Compositor (컴포지터)   컴포지터는 화면 위에 겹쳐있는 모든 윈도우들을 하나의 스크린 위에 합쳐서 보여주는 역할을 한다.   예를 들어, 우리가 두 개의 웹브라우저를 겹치게 띄워..