Одна из замечательных особенностей Linux - это возможность видеть различные компоненты системы. Одним из наиболее важных компонентов системы Linux является среда рабочего стола. Он позволяет вам максимально эффективно использовать свой компьютер, предоставляя несколько функций, таких как вход в систему, запуск приложений, отображение виджетов, таких как панель, и т. Д.
Следовательно, это сложная программа.
Здесь мы проясним некоторые из этих сложностей, объяснив три наиболее важных компонента среды рабочего стола: сервер отображения, диспетчер окон и диспетчер входа в систему.
1. Сервер отображения
Сервер отображения лежит в основе среды рабочего стола. Основная задача сервера отображения - обрабатывать низкоуровневые функции рисования, что означает, что он рисует прямо на экране. Другие графические программы не рисуют непосредственно на экране; вместо этого они отправляют запросы на рисование на сервер отображения, который рисует для них экран.
Проще говоря, сервер отображения предоставляет приложениям доступ к пикселям. Таким образом, все приложения, которым требуется доступ к пикселям, будут взаимодействовать с сервером отображения. Например, если приложение хочет создать окно, оно запрашивает сервер отображения для создания этого окна. Другим примером приложений, требующих доступа к пикселям, являются устройства записи экрана, они получают данные экрана с помощью API, предоставляемого сервером отображения.
Любое приложение, зависящее от сервера отображения, называется клиентом. Сервер дисплея отвечает за управление связью между своими клиентами и аппаратными устройствами. Он отправляет своим клиентам сигналы о событиях клавиатуры и мыши.
Сервер отображения также отвечает за рисование указателя мыши и управление его положением.
X11 и Wayland - это два основных варианта серверов отображения. X11 намного старше Wayland. Фактически, Wayland был разработан, чтобы стать преемником X11. Однако X11 по-прежнему широко используется в дистрибутивах Linux.
Вышеупомянутые концепции применимы как к X11, так и к Wayland. Однако между ними есть существенные различия в способах общения со своими клиентами. Клиенты Wayland более изолированы, чем клиенты X11. Таким образом, Wayland считается более безопасным, чем X11.
Есть и другие отличия, которые вы можете учесть, если планируете перейти на Wayland, но в большинстве случаев вам не нужно беспокоиться об этих различиях. Это потому, что разработчики приложений используют высокоуровневые инструменты (например, Gtk + и Qt), которые поддерживают как X11, так и Wayland. Также GNOME и KDE работают как с X11, так и с Wayland.
Читать далее: Что нужно знать об использовании Wayland
Поняв, что такое сервер отображения и что он делает, перейдем к следующему компоненту.
2. Оконный менеджер
Функция оконного менеджера (как следует из названия) - управлять открытыми окнами. Управление окнами включает в себя управление размером окон и их положением (по запросу пользователя или приложения). Поэтому всякий раз, когда вы начинаете перетаскивать окно или изменять его размер, оконный менеджер отвечает за обработку вашего запроса.
Помните, что для того, чтобы перетащить окно, вы просто нажимаете на его заголовок, а для изменения размера вы нажимаете и перетаскиваете его границы. Это перемещает нас к следующей функции оконных менеджеров, которая рисует украшения вокруг окон (заголовок и границы называются украшениями окон).
Вы можете спросить, почему дисплейный сервер не обрабатывает управление окнами? Что ж, это так. На самом деле оконные менеджеры делают то, что они делают, связываясь с сервером отображения. Поскольку для управления окнами и рисования их украшений требуется доступ к пикселям, они требуют взаимодействия с сервером отображения. Таким образом, оконный менеджер просто инструктирует сервер отображения, а сервер отображения выполняет фактические операции.
Еще одна важная функция, которую может иметь оконный менеджер, - это композитинг окон. Если у него есть эта функция, то он называется оконным композитором. Это позволяет приложениям делать некоторые интересные вещи, такие как обеспечение прозрачности, размытия, рисования теней окон, анимации окон при их перемещении / минимизации / развертывании и другие визуальные эффекты.
Примеры оконных менеджеров
Доступно множество вариантов (в отличие от серверов отображения, где есть только два варианта). Среди самых популярных:
- Kwin (поставляется с KDE).
- Mutter (поставляется с GNOME).
- Xfwm (оконный менеджер Xfce).
- Маффин (вилка бормотания для рабочего стола Cinnamon).
Доступно множество других вариантов, некоторые из них входят в состав среды рабочего стола, другие разрабатываются как отдельные пакеты. Ты даже можешь используйте только оконный менеджер вместо полноценной среды рабочего стола.
Некоторые среды рабочего стола позволяют использовать сторонний оконный менеджер. Например, вы можете использовать Xfce с kwin. Хотя GNOME и Cinnamon не поддерживают сторонние оконные менеджеры (например, если вы попытались принудительно заменить маффин в сеансе Cinnamon другим оконным менеджером, панель исчезнет).
Теперь вы понимаете оконный менеджер, давайте перейдем к следующему компоненту.
3. Диспетчер входа в систему (или Диспетчер отображения)
Диспетчер входа в систему - это первая графическая программа, которая появляется, чтобы предоставить вам список пользователей, поэтому вы выбираете одного и входите в систему. Это также дает вам возможность выбрать желаемую среду рабочего стола. Это позволяет вам переключаться между средами рабочего стола, просто выйдя из системы, выбрав другую среду рабочего стола и снова войдя в систему. Вот почему диспетчер входа в систему называется диспетчером дисплея (не путать с сервером дисплея).
Диспетчер входа в систему определяет текущие установленные среды рабочего стола, просматривая /usr/share/xsessions каталог. Этот каталог содержит несколько .desktop файлы. Каждый файл соответствует одной из установленных на данный момент сред рабочего стола.
Также есть много менеджеров входа в систему. Наиболее популярны:
- Gdm (диспетчер отображения GNOME).
- Kdm (менеджер отображения Kde).
- lightdm (многие среды рабочего стола и дистрибутивы Linux поставляются с lightdm, потому что он очень настраиваемый и гибкий).
Три вышеупомянутых компонента являются наиболее важными компонентами любой среды рабочего стола. Это означает, что для создания функциональной графической среды у вас должны быть по крайней мере установлены эти пакеты. Однако полные среды рабочего стола поставляются с различными другими пакетами, которые имеют более конкретные задания.
Другие общие компоненты среды рабочего стола
В дополнение к указанным выше компонентам среда рабочего стола, которую вы используете, вероятно, содержит следующие пакеты:
- Диспетчер обоев: отвечает за установку обоев на рабочем столе.
- Экземпляр файлового менеджера для рабочего стола: отвечает за отображение значков на рабочем столе, он входит в состав файлового менеджера, установленного в вашей системе. Например, файловый менеджер nautilus имеет nautilus_desktop, а nemo - nemo_desktop.
- Блокировка экрана: блокирует компьютер после некоторого простоя.
- Сетевой менеджер: Сетевой менеджер - это то, что управляет вашими интернет-подключениями и автоматически переключается между Wi-Fi и проводным подключением. Сама программа не добавляет никаких визуальных элементов на ваш рабочий стол, но в вашей среде рабочего стола должен быть реализован графический интерфейс, доступный с панели или где-либо еще.
- Демон уведомлений: когда приложение хочет показать уведомление, оно отправляет его демону уведомлений для его отображения.
- Агент проверки подлинности Policy Kit: это похоже на графический интерфейс для sudo. Это приложение появляется, когда вы выполняете действия, требующие привилегий root, такие как установка программного обеспечения или установка обновлений.
- И много других.
Обратите внимание, что установка обоев и отображение значков на рабочем столе выполняются двумя отдельными приложениями. Кроме того, полные среды рабочего стола поставляются со многими другими пакетами, которые выходят за рамки этой статьи.
Знайте внутреннее устройство своей системы
Для пользователей Linux важно знать компоненты среды рабочего стола для поиска и устранения неисправностей. Эти знания также могут пригодиться, если вы решите создать свою собственную среду рабочего стола.
Подсистема Windows для Linux поставляется без рабочего стола. Вот как установить среду рабочего стола WSL, такую как GNOME или LXDE, в Windows.
Читать далее
- Linux
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!
Нажмите здесь, чтобы подписаться