UNIX 시스템에 대해 더 자세히 알고 싶은데, 매우 직접적인 질문이 있는 것 같습니다. 나는 X가 무엇인지 알고 있다고 생각합니다. X는 응용 프로그램이 UI를 렌더링하는 표준을 제공합니다.
그런데 왜 Gnome/KDE가 필요하며 X와 어떤 관련이 있습니까? 나는 그들이 X를 애플리케이션과 GUI 사이의 일종의 인터페이스로 사용한다고 생각합니다. 따라서 인터페이스는 애플리케이션 간에 동일하게 유지되는 동안 GUI를 사용자 정의할 수 있습니다.
이것이 사실입니까, 아니면 Gnome/KDE가 X와 독립적입니까?
답변1
(저는 현재 GNOME과
1. GUI는 무엇으로 구성되어 있나요?
GUI가 무엇인지 모두가 알고 있다고 생각합니다.
아래는 GUI의 기본 구성 요소에 대한 다이어그램입니다.
창 시스템사용자 인터페이스를 위한 WIMP(창, 아이콘, 메뉴, 포인터) 패러다임을 구현하는 GUI입니다.
여기Linux 및 Windows 시스템용 기본 윈도우 시스템 목록입니다.
창 시스템의 주요 구성 요소는 다음과 같습니다.서버 표시(또는 윈도우 서버, 컴포지터). 창에 GUI를 렌더링하는 모든 응용 프로그램은고객서버를 보여주세요.
클라이언트와 서버가 관련되어 있으므로 통신 프로토콜이 필요합니다.서버 프로토콜 표시틀림없이.
디스플레이 서버는 클라이언트와 나머지 운영 체제, 하드웨어 및 서로 간의 입력과 출력을 조정하는 것이 주요 작업인 프로그램입니다. 이는 그래픽 인터페이스의 더 높은 수준(당연히 GUI 시스템이 계층화된 디자인을 가짐) 요소에서 사용하기 위한 그래픽 하드웨어의 추상화를 제공합니다.창 관리자.
다양한 디스플레이 서버를 사용할 수 있습니다. 예를 들어:
- X.Org 서버(주로 *nix에서 사용됨)
- Wayland(주로 *nix에서 사용됨)
- Mir (주로 *nix에서 사용됨)
- SurfaceFlinger(Google Android용)
- Quartz Compositor(Apple MacOS에서 사용하는 것입니다.)
- 데스크탑 창 관리자(Microsoft Windows에서 사용하는 것입니다.)
2. X는 무엇을 의미하나요?
X, X11 및 X 윈도우 시스템은 동의어입니다. 그들은 모두창 시스템.
위에서 언급한 바와 같이 X 윈도우 시스템의 핵심 구성요소인 디스플레이 서버는X.Org 서버.
때로는 X.Org 서버를 간단히 X 서버라고도 합니다.
GUI를 실행하고 렌더링하는 모든 애플리케이션은고객~의서버 표시. 디스플레이 서버와 해당 클라이언트는 흔히 호출되는 통신 프로토콜을 통해 서로 통신합니다.서버 프로토콜 표시, 디스플레이 서버는중재인클라이언트와 사용자 사이. 디스플레이 서버는 커널로부터 모든 입력을 수신합니다. 커널은 연결된 모든 입력 장치(예: 키보드, 포인팅 장치 또는 터치 스크린)에서 이를 수신하여 올바른 클라이언트로 전송합니다. 디스플레이 서버는 클라이언트의 출력을 컴퓨터 모니터로 출력하는 역할도 담당합니다. ㅏ서버 프로토콜 표시네트워크를 지원하거나 네트워크를 투명하게 할 수도 있습니다. (그래서 본질적으로 데이터 흐름과 라우팅에 관한 것일 뿐이고 시각적 데이터는 여전히 데이터라는 것을 알 수 있습니다.)
그리고 기반으로여기:
X.Org 서버는 다음 기능을 제공하는 프로그램입니다.디스플레이 및 사용자 입력 서비스다른 프로그램에. 이와 대조적으로 파일 서버는 다른 프로그램에 파일 저장 장치에 대한 액세스를 제공합니다. 파일 서버는 일반적으로 원격 위치에 있으며, 자신의 컴퓨터에서 파일 서버의 서비스를 사용할 수 있습니다.대신, X 서버는 일반적으로 귀하의 컴퓨터와 동일한 컴퓨터에서 실행됩니다.;디스플레이 및 사용자 입력 서비스는 컴퓨터에서 실행되는 프로그램이나외딴기계.
따라서 X 윈도우 시스템은 다음과 같은 부분으로 구성됩니다.
- 서버 표시
- 서버 프로토콜 표시
- 개발을 위한 일부 라이브러리
- 그리고 다른 것들
~에 따르면여기:
X(윈도우 시스템이라고 생각함)는 GUI 환경을 위한 기본 프레임워크를 제공합니다. 즉, 디스플레이 장치에서 창을 그리고 이동하며 마우스 및 키보드와 상호 작용합니다. X는 사용자 인터페이스를 요구하지 않습니다. 이는 별도의 프로그램에 의해 처리됩니다. 결과적으로 X 기반 환경의 시각적 스타일은 매우 다양하며, 다양한 프로그램은 완전히 다른 인터페이스를 제공할 수 있습니다.
즉, X 윈도우 시스템은 프로그램에 기본 작업을 수행하는 기능만 제공합니다.창 그리기/이동그리고입력 상호작용. X는 시각적 스타일을 강요하지 않습니다.무엇을 그릴지 제공하는 것이 아니라 그리는 방법을 제공할 뿐입니다.그래서 "라고 했잖아....애플리케이션에 UI 렌더링 표준을 제공합니다..." 부정확하다.
3. 창관리자란 무엇인가요?
그놈/Xfce/KDE를 사용할 수 있습니다.창 관리자. 모두 X 디스플레이 서버에서 작동하기 때문에 둘 다 호출됩니다.X 창 관리자. 창 관리자는 X 서버 및 X 클라이언트와 함께 작동합니다. 위의 GUI 구성도에서 창 관리자가 어디에 있는지 확인할 수 있습니다.여기다양한 유형의 창 관리자가 있습니다.
4. GNOME/KDE/Xfce 데스크탑이란 무엇입니까?
GNOME, KDE 및 Xfce 데스크탑은 모두 Linux입니다.데스크탑 환경. 데스크탑 환경은 운영 체제에서 실행되는 일련의 프로그램입니다.공통 GUI를 공유합니다..
하지만 위에서 언급한 것처럼 X11은 디스플레이 서버 역할을 합니다.기본적인 그리기 기능만 제공됩니다.Xlib 또는 XCB와 같은 일부 라이브러리를 통해. 이러한 라이브러리를 통해 X11에 직접 연결하는 애플리케이션은 다음을 가질 수 있습니다.완전히 다른 시각적 스타일.
그렇다면 범용 GUI를 만드는 방법은 무엇입니까? 오는위젯 툴킷. 예를 들어GTK그리고Qt. 그들은 Wayland와 X11에서 인기가 있습니다.창 시스템.
GNOME과 Xfce는 GTK를 사용합니다.
KDE는 Qt를 사용합니다.
그리고여기X Window System 데스크탑 환경의 비교입니다.
5. gdm3, lightdm, kdm은 무엇입니까
모두디스플레이 관리자, "dm" 섹션에 표시된 대로.
개인적으로 나는 생각한다디스플레이 관리자오해의 소지가 있는 이름이다. 가장 잘 알려진그래픽 로그인 관리자. 이는 일반적으로 기본 셸 대신 부팅 프로세스가 끝날 때 표시되는 그래픽 사용자 인터페이스입니다.
다양한 데스크탑 환경에서는 다양한 로그인 관리자를 사용하여 시각적 스타일을 일관되게 유지합니다.
- 그놈은 gdm3을 사용합니다.
- Xfce는 lightdm을 사용합니다
- KDE는 kdm을 사용합니다
디스플레이 관리자는 다음을 수행할 수 있습니다.동일한 컴퓨터 또는 다른 컴퓨터에서 X 서버의 세션 시작.
요약하자면...너무 자세히 설명하지 않았으면 좋겠습니다...
GUI는 다양한 유형이 있을 수 있습니다.창 시스템GUI의 일종입니다.
모든 윈도우 시스템의 핵심 구성 요소는 종종 호출됩니다.서버 표시.
창 시스템, 예:엑스, 추상 하드웨어 및 IO. 그리기, 창 이동, IO 처리 등의 기본 서비스를 제공합니다.
창 관리자, 예를 들어그놈, Xfce, KDE는 디스플레이 관리자 위에서 작동하며 사용자가 보는 것의 모양과 느낌을 제공합니다.
ㅏ데스크탑 환경공통의 시각적 스타일을 공유하는 애플리케이션 그룹입니다.
디스플레이 관리자, 또는 그래픽 로그인 관리자는 그래픽 로그인 인터페이스를 제공합니다.
대략적인 개념도를 그려봤습니다. 운영 체제 위의 세 부분은 매우 사용자 정의가 가능합니다. 이것이 바로 유연성(혼돈)이 많은 이유입니다.
2018년 9월 21일 오후 1시 - 1시 26분에 추가됨
그리고여기QT와 GTK에 대한 몇 가지 논의가 있습니다(그러나 이는 이 게시물에서 벗어난 것일 수 있습니다...).
답변2
Xorg(및 초기 Xfree 및더 일찍 X10)은 프로토콜 서버로 더 잘 알려져 있습니다.X 윈도우 시스템;애플리케이션이 "화면"에 그릴 수 있도록 해줍니다. 원격 제어를 위해 X.Gnome/KDE/Xfce 등을 사용할 수 있습니다.창 관리자/ 데스크탑 환경은 테두리나 아이콘 같은 것을 그리고 응용 프로그램 자체가 그리지 않는 것을 최소화 및 최대화하는 X에서 실행되는 특수 응용 프로그램입니다.
그리고 Gnome과 KDE는 모두 MS Windows(및 다양한 수준의 Wayland)에서 실행될 수 있으므로 X와 독립적입니다(또는 실행될 수 있습니다).