GUI의 구성 요소는 Linux에서 어떻게 작동합니까?

GUI의 구성 요소는 Linux에서 어떻게 작동합니까?

최소한 몇 가지 기본 구성 요소가 있습니다.

-server (to talk to drivers and listen for input)
-desktop environment (?)
-windows manager (manages apps boarders, size, position, etc) 
-other polishing apps (menus, clocks, icons)

그렇다면 마우스의 위치와 기타 대화형 활동을 추적하는 것은 무엇일까요?

Windows 관리자나 데스크톱 환경 없이 Firefox를 실행했다고 가정할 때 이러한 구성 요소 중 일부가 누락되면 어떻게 될까요? 마우스 없이 전체 화면으로 실행됩니까?

터미널에서 GUI를 완전히 시작하고 중지하려면 어떻게 해야 합니까?

감사해요

답변1

마우스 커서는 그래픽 서버에 의해 관리됩니다. 클라이언트는 입력 이벤트를 수신하지만 스스로 포인터를 그릴 필요는 없습니다.

창도 마찬가지입니다. 일반적인 '다중 창' 개념은 핵심 X11 프로토콜의 일부이므로 창 관리자 없이도 X11에서 앱을 실행할 수 있지만 경계가 없고 이동할 수 없습니다. 또는 크기를 조정합니다. 기본 "WM 없음" 초점 모드는 초점이 마우스를 따라가는 것입니다.

(Wayland에서 창 관리자는 그래픽 서버와 동일한 프로세스입니다. 또한 대부분의 Wayland 환경(및 GNOME 3과 같은 일부 X11 환경에서도)에서 창 장식은 일반적으로 클라이언트 자체에 의해 그려지므로 선이 다소 흐려집니다.)


"데스크톱 환경"은 구성 요소가 아닙니다. 그것은 다음을 설명합니다수집구성 요소 – 무엇보다도 DE에는 다음이 포함됩니다.

  • 창 관리자 및 일부 셸 UI(예: 데스크탑, 패널 등) – 이는 GNOME 3 또는 e17에서처럼 단일 프로세스일 수도 있고 Xfce에서처럼 서로 완전히 분리될 수도 있습니다.
  • 전원 설정이나 디스플레이 핫플러그와 같은 다양한 작업을 위한 설정 관리자(예: gnome-settings-daemon)일 수도 있습니다.
  • 실제로 모든 것을 시작하는 세션 관리자 – 이것은 DM 또는 startx에 의해 시작되는 '초기' 프로세스이며 이를 종료하면 하드 로그아웃이 발생합니다.

또한 DE에는 파일 관리자, 터미널, 텍스트 편집기, 시스템 설정 등 기본 앱 세트도 있습니다. Windows의 "액세서리" 아래에 표시되는 항목입니다.


그래픽 서버를 시작하는 방법에는 디스플레이 관리자를 통하거나 수동으로 두 가지가 있습니다.

일반적인 디스플레이 관리자는 GDM, LightDM, SDDM, KDM, Xdm입니다. 주요 작업은 그래픽 서버(예: 디스플레이)가 시작될 수 있는 시기를 자동으로 감지하고 일반적으로 그래픽 로그인 프롬프트도 표시하는 것입니다. 디스플레이 관리자 자체는 service또는 를 통해 관리되는 시스템 서비스입니다 systemctl.

수동 접근 방식은 startxXorg와 파일에 나열된 모든 클라이언트 .xinitrc(DE의 세션 관리자 또는 일반 이전 WM일 수 있음)를 실행하는 를 실행하는 것입니다.

(Xorg는 완전히 수동으로 시작할 수 있지만 유용한 작업을 수행하지 않습니다. 화면을 차지하므로 다른 곳에서 초기 클라이언트를 시작해야 합니다.)

관련 정보