Исправлено ли количество fd различных оболочек?

X11 - это процесс, в обязанности которого входит прослушивание устройств ввода и запись на экран. (Как он справляется с этим - другой вопрос, более сложный.) Процессы взаимодействуют с X11 через сокеты Unix или TCP, в зависимости от конфигурации (если это сокеты Unix, файлы сокетов обычно находятся в папке /tmp/.X11-unix ). Любой процесс, имеющий дело с X, обращается к X11 через один из этих сокетов; в самом общении нет посредника (если вы не используете нестандартную настройку, такую ​​как пересылка SSH или xpra).

Диспетчер окон - это отдельная программа, которая также взаимодействует с X11, используя протокол X на сокете. Он использует отдельный набор API-интерфейсов, предоставляемых X, что позволяет ему выдавать директивы другим приложениям на этом конкретном экземпляре X11; он также может сам выдавать запросы на рисование и ввод, например для рисования декораций окна (таких как обычные кнопки развертывания / свертывания / закрытия и строки заголовка) или для ответа на глобальные ярлыки (в современных системах здесь обычно обрабатывается Ctrl-Alt-Del). Обратите внимание, что оконный менеджер действительно только выдает директивы другим программам X, а не прямые приказы; программы могут игнорировать их, если предпримут какие-то особые действия. (Ситуация немного сложнее с оконным менеджером композитинга, поскольку он также обрабатывает фактическую графическую визуализацию на X-сервере в качестве посредника для приложений.) Все коммуникации, которые здесь происходят, происходят через сокеты с использованием X-протокола.

Окружение рабочего стола - это набор программ, которые выполняют разные функции.Обычно сюда входит оконный менеджер; он также может включать в себя некоторый набор графических конфигураторов и служебных программ, файловый менеджер, интегрированный с рабочим столом, панель задач для отображения различных обновлений статуса и так далее. По большей части это не особенно загадочно, просто больше X-программ, которые рендерится на X-сервер. Там, где им нужно общаться между собой, они используют свои собственные протоколы, обычно используя какие-то сокеты в качестве бэкэнда. В последнее время наблюдается тенденция отхода от приложений, пишущих собственные протоколы, к использованию метапротоколов более высокого уровня, таких как dbus .

2
24.01.2018, 11:01
0 ответов

Теги

Похожие вопросы