Объясняю все, что касается оконного менеджера и рабочего стола

Объясняю все, что касается оконного менеджера и рабочего стола

Итак, я слышал следующие термины, насколько я помню. Попытка найти источник, который описывает их и их связь друг с другом, просто не существует. И это, мягко говоря, сбивает с толку.

Может ли кто-нибудь объяснить мне, как это делают пятилетние дети, следующие термины и то, как они связаны или соотносятся друг с другом:

  • Гном
  • КДЕ
  • Единство
  • Xorg
  • х11
  • х сервер
  • стартx
  • Пантеон
  • ГТК
  • КТ
  • Оконный менеджер

решение1

Gnome, KDE, Unity, Пантеон

Gnome, KDE, Unity, Pantheon — это среды рабочего стола.
Среда рабочего стола состоит из множества различных инструментов. например: менеджер входа в систему, менеджер окон, средство запуска приложений, меню, эмулятор терминала, файловый менеджер, веб-браузер, редактор, графические инструменты для настройки системы и множество других утилит. Это полный пакет всего, что вам нужно.

Изображение изреддит:
введите описание изображения здесь

ГТК и QT

GTK и QT — это наборы инструментов/фреймворки для разработки программного обеспечения, например: многие инструменты, разработанные для среды рабочего стола Gnome, используют GTK для создания своего графического интерфейса. Вместо того, чтобы писать все самому, я использую их для ускорения разработки и в то же время использую и следую стандартному фреймворку, который используют все другие программы в той же среде.

введите описание изображения здесь

X, X11 и Xorg

X — это фреймворк, мы даже можем ссылаться на него как на протокол, X11 — последняя версия этого протокола, а Xorg (сервер Xorg: X использует структуру клиент-сервер) — это реализация x11, это как HTTP и браузеры, HTTP — это протокол, HTTP2 — последняя версия, и веб-браузеры, которые используют этот протокол для взаимодействия с веб-серверами, каким-то образом его реализовали.

Из Википедии:

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

Он просто позволяет нам рисовать и показывать вещи, а также содержит множество необходимых драйверов.

Однако даже X нуждается в оконном менеджере для использования своих возможностей. На рисунке ниже вы видите twmоконный менеджер и xtermдругие компоненты, запускающие сеанс X. Для получения дополнительной информации об оконных менеджерах прочитайте последний раздел.

введите описание изображения здесь

стартx

startxэто скрипт для запуска графической среды, он инициализирует X-сессию.

Оконные менеджеры

Менеджеры окон в основном являются частью среды рабочего стола, вы даже можете использовать их вместо использования полной среды рабочего стола. Существует множество доступных менеджеров окон, таких как: i3wm, awesome, openbox, fluxbox, blackbox, xfwm4, compiz и т. д.

введите описание изображения здесь

Они контролируют, как ведут себя наши окна, как они выглядят, какие элементы у них есть, где должны отображаться мой заголовок и кнопки по умолчанию, что произойдет, если я перетащу/изменю размер/закрою его и т. д. Для достижения этих целей оконные менеджеры используют серверы отображения, такие как X или Wayland.

Фотографии взяты из Википедии.

решение2

Объяснение ELI5:

  • Xorg,x11,x сервер - все одно и то же. По сути, это гигантское ПО, которое делает возможным GUI. X сервер не запущен => GUI отсутствует.
  • Менеджер окон — вот что делает Windows красивыми. X-сервер дает вам все необходимое.
  • startxэто команда. В старые времена именно так вызывался графический интерфейс.
  • Gnome, KDE, Unity, Pantheon — все это графические оболочки. В то время как X-сервер предоставляет вам простой графический интерфейс, графические оболочки придают приложениям определенный вид и определенное поведение (например, Alt+ Tab). Работают вместе с оконными менеджерами. Часто поставляются в комплекте с дополнительным программным обеспечением, таким как текстовые редакторы, веб-браузеры и т. д. Следует сделать поправку относительно Unity — это на самом деле просто плагин для оконного менеджера Compiz, что становится очевидным, когда Unity падает, и вы остаетесь с простым рабочим столом без лаунчера или верхней панели.
  • GTK, QT — графические наборы инструментов. По сути, «язык» программирования GUI. Точнее, это «библиотеки», и большинство распространенных языков на Linux Desktop, таких как Python или C++, используют эти библиотеки для создания приложений GUI.

Связанный контент