Каковы подсистемы пользовательского интерфейса, их компоненты и обязанности?


8

Я пытаюсь понять различные подсистемы, отвечающие за пользовательский интерфейс, терминологию для их обозначения и их структуру; до сих пор я знаю, что есть:

На верхнем уровне:

рабочие столы ? (кде, гном и тд)

Тогда мы имеем:

  • Диспетчер отображения (также называемый диспетчером рабочего стола или окружением рабочего стола)
  • оконный менеджер
  • что-нибудь еще?

Я делаю это вики-сообществом, и я бы хотел, чтобы это было центральным местом для * всего, что нужно знать (с точки зрения пользователя) относительно подсистем пользовательского интерфейса в Linux; я хотел бы знать, каковы компоненты каждого и каковы обязанности каждого, то есть я хотел бы знать такие вещи, как:

  • что именно отвечает за глобальные сочетания клавиш, когда я открываю диалоговое окно «Запустить приложение», который делает это, когда я нажимаю клавишу, чтобы показать рабочий стол, запускаю терминал, максимизирую окно и т. д., кто захватывает это и отправка в правильное окно;
  • кто отвечает за рисование рабочего стола, рабочих мест и т. д.
  • Какие переменные среды могут дать мне информацию об этих компонентах
  • Является ли «главное меню» подсистемой или компонентом подсистемы?

Также было бы неплохо составить список самых популярных рабочих столов / подсистем, какие из них работают под каждой, можете ли вы смешивать и сопоставлять рабочие столы / среды рабочего стола / оконные менеджеры и т. Д.?

Наконец, как мне определить, какие десктопы / подсистемы на самом деле работают (активны?) В системе, могут ли разные пользователи иметь разные подсистемы?

Ответы:


5

Во-первых, Диспетчер отображения (или DM, например, xdm, gdm, kdm) отличается от среды рабочего стола (или DE, например, GNOME, KDE, XFCE).

Диспетчер отображения заботится о графическом входе в систему и решает (или позволяет вам выбрать), какой сеанс запустить. Или какой сеанс * s * на случай, если вы выберете пункт меню «переключить пользователя».

Среда рабочего стола - это набор программ (диспетчер отображения, менеджер окон, менеджер сеансов, панели, инструменты настройки и т. Д.) И библиотек (например, Gtk), которые предназначены для создания согласованной и интегрированной среды для работы.

Window Manager управляет окнами: где их размещать, перемещать, изменять их размер, минимизировать / максимизировать их, разбивать их на плитки и т. Д.) Он также обрабатывает ярлыки, чтобы сделать эти вещи. В некоторых случаях оконный менеджер также рисует границы окон, в других случаях эта задача передается «декоратору окна».

Диалог «Запустить приложение» в GNOME является частью gnome-panel, но в другом DE это может быть другая часть среды.

Кто отвечает за покраску окон и т. Д. Зависит; если используется «композитор» (часто это часть оконного менеджера, например, в Compiz), тогда он рисует окна на экране, иначе (как обычно в прошлом) это делает X-сервер.

Главное меню (-я) выводятся на экран частью панели gnome, но используемые данные поступают из нескольких файлов /usr/share/applications/(возможно, в сочетании с эквивалентным каталогом в вашем доме для личных изменений). Эти файлы имеют структуру, определенную FreeDesktop.org (платформой для разных DE для совместной работы в общей инфраструктуре), так что GNOME и KDE знают об одних и тех же программах (но все же могут показывать их по-разному, а в некоторых случаях отдают приоритет «родным» программам). над "чужими").

И да, разные пользователи могут использовать разные конфигурации сеансов (и даже могут определять свои собственные). В GDM попробуйте раскрывающийся список Сеанс для доступных вариантов.

Кроме того, можно смешивать и сочетать несколько компонентов, но это иногда приводит к меньшему сотрудничеству и потере «гладкости» в работе. Один очень известный пример, где вещи обмениваются, это, конечно же, Compiz, который заменяет Metacity, если вам нужны причудливые эффекты рабочего стола. Но есть много других возможных изменений.


2

Менеджер рабочего стола в основном управляет вашим оборудованием, а менеджер окон управляет вашим программным обеспечением. Например, управление питанием, хранители экрана, производительность системы, экран входа в систему и т. Д. Управляются менеджером рабочего стола. Ваша тема, расположение окон, набор виджетов и иконок, шрифты и т. Д. Управляются вашим оконным менеджером.

Вы можете установить менеджер окон без менеджера рабочего стола. Обычно вход в виртуальный терминал, а затем сценарий входа в систему запускает ваш оконный менеджер, чтобы запустить ваш «рабочий стол».

Настольные менеджеры GNOME, KDE и CDE. Оконными менеджерами являются Metacity, Openbox, Enlightenment, Awesome и т. Д.

Чтобы ответить на некоторые ваши вопросы напрямую:

  • оконный менеджер в основном отвечает за сочетания клавиш на рабочем столе.
  • оконный менеджер отвечает за рисование рабочего стола, рабочих областей, размещения окон и т. д., как упоминалось ранее
  • Для GUI не так много переменных среды. Они обычно просто применимы к оболочке позади терминала. Тем не менее, вы можете запустить setи envполучить представление о том, что установлено.
  • не уверен, что вы подразумеваете под «главным меню» как подсистема или компонент подсистемы. Меню являются частью оконного менеджера.

Я уже упоминал некоторые популярные настольные менеджеры и оконные менеджеры. Больше можно найти с помощью Google.

В зависимости от вашей операционной системы, вероятно, есть файл конфигурации ASCII, который определил ваш предпочтительный рабочий стол. Например, в Debian GNU / Linux это определяется в /etc/X11/default-display-managerконфигурации. Вы также можете запустить 'ps -ef | grep user 'где' user '- это имя для входа в систему какого-либо пользователя в системе, и вы увидите, какие процессы перечислены, а какой запущен графический рабочий стол. Для меня это «метагород».

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.