사용자 인터페이스 하위 시스템, 해당 구성 요소 및 책임은 무엇입니까?

사용자 인터페이스 하위 시스템, 해당 구성 요소 및 책임은 무엇입니까?

나는 사용자 인터페이스를 담당하는 다양한 하위 시스템, 이를 참조하는 데 사용되는 용어 및 그 구조를 이해하려고 노력하고 있습니다.

최상위 수준에서:

데스크탑? (kde, gnome 등)

그런 다음 우리는 다음을 가집니다:

  • 디스플레이 관리자(데스크탑 관리자 또는 데스크탑 환경이라고도 함)
  • 창 관리자
  • 다른 건 없어?

저는 이것을 커뮤니티 위키로 만들고 싶습니다. 그리고 이것이 Linux 사용자 인터페이스 하위 시스템에 대해 (사용자 관점에서) 알 수 있는 *모든 것*의 중심 장소가 되기를 원합니다. 각 구성 요소의 책임은 무엇입니까? 즉, 다음 사항을 알고 싶습니다.

  • "응용 프로그램 실행" 대화 상자를 열 때 전역 바로 가기 키를 담당하는 사람, 바탕 화면 표시, 터미널 실행, 창 최대화 등을 위해 키를 누를 때 이를 캡처하고 넣는 사람 등을 담당하는 전역 바로 가기 키는 정확히 무엇입니까? 오른쪽 창으로 전송됩니다.
  • 바탕 화면, 작업 공간 등을 그리는 사람은 누구입니까?
  • 이러한 구성 요소에 대한 정보를 제공할 수 있는 환경 변수
  • "주 메뉴"는 하위 시스템입니까, 아니면 하위 시스템의 구성 요소입니까?

각각 실행되는 가장 인기 있는 데스크탑/하위 시스템 목록을 컴파일하는 것이 좋을 것입니다. 데스크탑/데스크탑 환경/창 관리자 등을 혼합하고 일치시킬 수 있습니까?

마지막으로 시스템에서 실제로 실행 중인(활성?) 데스크톱/하위 시스템을 확인하는 방법은 서로 다른 사용자가 서로 다른 하위 시스템을 가질 수 있습니까?

답변1

첫째, 디스플레이 관리자(또는 xdm, gdm, kdm과 같은 DM)는 데스크탑 환경(또는 GNOME, KDE, XFCE와 같은 DE)과 다릅니다.

디스플레이 관리자는 그래픽 로그인과 실행할 세션 결정(또는 선택 허용)을 담당합니다. 아니면 회의*에스* "사용자 전환" 메뉴 옵션을 선택한 경우.

데스크탑 환경은 기본적으로 일관되고 통합된 작업 환경을 제공하도록 설계된 프로그램(디스플레이 관리자, 창 관리자, 세션 관리자, 패널, 구성 도구 등) 및 라이브러리(예: Gtk)의 모음입니다.

창 관리자는 창을 배치할 위치, 창 이동, 창 크기 조정, 창 최소화/최대화, 창 타일링 등을 관리합니다. 또한 이러한 작업을 수행하기 위한 바로 가기도 처리합니다. 어떤 경우에는 창 관리자가 창의 테두리도 그립니다. 다른 경우에는 이 작업이 일시적으로 "창 장식자"에게 넘겨집니다.

GNOME의 애플리케이션 실행 대화 상자는 환경의 일부이지만 gnome-panel다른 DE에서는 환경의 또 다른 부분일 수 있습니다.

창 등을 그리는 책임은 누구에게 달려 있습니다. "합성기"가 사용되는 경우(일반적으로 Compiz와 같은 창 관리자의 일부) 합성기는 화면에 창을 그립니다. 그렇지 않으면 (과거와 같이) X 서버입니다. 이것을하기 위해.

메인 메뉴는 gnome-panel의 일부로 화면에 표시되지만 여러 파일의 데이터를 사용합니다 /usr/share/applications/(개인 변경을 위해 집에 있는 동등한 디렉토리와 결합될 수도 있음). 이러한 파일은 FreeDesktop.org(공통 인프라에서 공동 작업을 위한 다양한 데스크톱 환경을 위한 플랫폼)에서 정의한 구조를 갖고 있으므로 GNOME과 KDE가 동일한 프로그램을 인식합니다(그러나 여전히 다르게 표시될 수 있으며 경우에 따라 우선권을 가질 수 있음). "외국" 프로그램보다는 "네이티브" 프로그램을 고려하세요.

예, 다양한 사용자가 다양한 세션 구성을 사용할 수 있습니다(또는 자신만의 세션 구성을 정의할 수도 있음). GDM에서 사용 가능한 옵션을 보려면 세션 드롭다운 메뉴를 사용해 보세요.

또한 여러 구성 요소를 혼합하고 일치시킬 수 있지만 이로 인해 협업이 줄어들고 작업 방식의 "부드러움"이 손실되는 경우가 있습니다. 물건을 바꾸는 잘 알려진 예는 물론 멋진 데스크탑 효과를 원할 경우 Metacity를 대체할 수 있는 Compiz입니다. 그러나 다른 가능한 변경 사항도 많이 있습니다.

답변2

데스크탑 관리자는 주로 하드웨어를 관리하는 반면 창 관리자는 소프트웨어를 관리합니다. 예를 들어 전원 관리, 화면 보호기, 시스템 성능, 로그인 화면 등은 Desktop Manager에서 관리합니다. 테마, 창 위치, 위젯 및 아이콘 세트, 글꼴 등은 모두 창 관리자에 의해 관리됩니다.

데스크탑 관리자 없이 창 관리자를 설치할 수 있습니다. 가상 터미널에 로그인한 다음 로그인 스크립트가 창 관리자를 실행하여 "데스크톱"을 시작하는 것이 일반적입니다.

데스크탑 관리자에는 GNOME, KDE 및 CDE가 포함됩니다. 창 관리자에는 Metacity, Openbox, Enlightenment, Awesome 등이 포함됩니다.

귀하의 질문에 직접 답변하려면:

  • 창 관리자는 주로 데스크탑 키보드 단축키를 담당합니다.
  • 창 관리자는 앞서 언급한 것처럼 바탕 화면, 작업 공간, 창 위치 등을 그리는 역할을 담당합니다.
  • GUI에는 환경 변수가 많지 않습니다. 이는 일반적으로 터미널 뒤의 하우징에만 적용됩니다. 그러나 실행하여 무엇이 설정되어 있는지 확인할 수 set있습니다 env.
  • 하위 시스템 또는 하위 시스템의 구성 요소로서 "주 메뉴"가 무엇을 의미하는지 잘 모르겠습니다. 메뉴는 창 관리자의 일부입니다.

나는 이미 몇몇 유명한 데스크탑 관리자와 창 관리자를 언급했습니다. 더 많은 정보를 찾으려면 Google을 사용하세요.

운영 체제에 따라 선호하는 데스크탑을 정의하는 ASCII 구성 파일이 있을 수 있습니다. 예를 들어 Debian GNU/Linux에서는 /etc/X11/default-display-managerconfig.php에 정의되어 있습니다. 또한 'ps -ef | grep user'(여기서 'user'는 시스템 사용자의 로그인 이름)를 실행하여 어떤 프로세스가 나열되고 어떤 그래픽 데스크탑이 실행되고 있는지 확인할 수 있습니다. 나에게 이곳은 '메타시티'이다.

관련 정보