LINUX.ORG.RU

Поясните пожалуйста про Дисплейный сервер, Wm и композитор. Что они делают?

 , , , ,


0

2

Например как в X11, где Xorg(дисплейный сервер), композитор и wm отдельны друг от друга, или как в wayland композиторе, где в композиторе есть еще и Wm и дисплей сервер



Последнее исправление: Dimez (всего исправлений: 1)

Дисплейный сервер это штука к которой подключаются все остальные. Каждому клиенту он предоставляет возможность создавать и изменять окна, рисовать что-то на экране (обычно в своём окне), принимать события от клавиатуры и мыши и отправлять сообщения другим клиентам.

WM это один из клиентов дисплейного сервера, он поддерживает удобный интерфейс к управлению окнами (в частности, перемещение, изменение размера и переключение). Например, он может следить за тем как другие создают окна и пририсовывать к каждому сверху панель заголовка, затем следить за нажатиями на неё левой кнопки мыши и двигать соответствующее окно когда мышь с зажатой на заголовке кнопкой двигают. Ещё он может следить за нажатием какого-нить сочетания клавиш и переключать окна, или рисовать панель задач и переключать окна когда ты мышкой в неё нажимаешь.

Композитор это штука которая запоминает всё что рисуют клиенты, каждое окно отдельно (обычный дисплейный сервер видит только то что сейчас нарисовано на экране в целом, окна по-отдельности не запоминает). Это тратит больше оперативной памяти, но зато при переключениях окон можно не просить клиентов каждый раз заново их рисовать. А ещё можно делать разные спецэффекты типа полупрозрачности и 3D-поворотов окон.

firkax ★★★★★
()
Ответ на: комментарий от firkax

В общем как я понял, дисплей сервер - среда, в которой клиенты что либо делают. Например клиент wm, который настраивает окно, его внешку, кнопки. Композитор - это то, что запоминает эти настройки по этапно, каждое окно, и рисует результат на экран. В x11 все эти программы отдельны, в wayland все в одной программе - wayland композитор. Am I right

Levernetut38
() автор топика
Последнее исправление: Levernetut38 (всего исправлений: 1)
Ответ на: комментарий от Levernetut38

В общем как я понял, дисплей сервер - среда, в которой клиенты что либо делают. Например клиент wm, который настраивает окно, его внешку, кнопки.

Можно и так сказать.

Композитор - это то, что запоминает эти настройки по этапно, каждое окно, и рисует результат на экран.

А тут непонятно что ты имел ввиду.

В x11 все эти программы отдельны, в wayland все в одной программе - wayland композитор.

Примерно так. Это означает что если ты хочешь всего лишь написать свой интерфейс управления окнами, то в случае x11 тебе надо всего лишь сделать wm (самый простой - пара страниц кода на Си), а в случае вайланда - возиться со всеми сложностями вывода картинки на экран и всеобъемлющего обслуживания клиентов.

firkax ★★★★★
()
Ответ на: комментарий от firkax

спасибо еще раз за объяснение, но кстати знаешь почему я выдал такой странный ответ по поводу композитора? Потому что мне нейронка подсказала так, и еще на мою шизу говорила «да да ты прав». Я только сейчас догнал, что делает композитор

Levernetut38
() автор топика
Ответ на: комментарий от firkax

Что то как то сложно написали :( Я вот не фига вас не понял.

По мне так каждый вайланд клиент работает со своим буфером внутри, там все рисует(рендерит) и т.д. Композитор тупо берет все эти буфера, объединяет и тупо долбит на экран. Вот и все.

mx__ ★★★★★
()

Приложение <- запрос -> дисплей сервер - программный вызов api -> рисует окно

дисплей-сервер нужен чтобы ты не думал над тем, что там используется под кАпотом, просто взял вызвал функцию в gtk или насоздавал компонентов в qt, и оно отобразилось. x11 - это полноценный сервер, wayland - нет. те погроммист вообще не знает, как оно на низком уровне работает. оно все на уровне фреймворков реализовано… так что это бесполезные знания, неимеющие практического применения

rtxtxtrx ★★★
()
Последнее исправление: rtxtxtrx (всего исправлений: 2)
Ответ на: комментарий от rtxtxtrx

ну хз, во первых эти знания нужны, если хочешь сделать себе кастомный De, а во вторых wayland и x11 это не сервера, а протоколы, сервера это xorg и wayland композитор

Levernetut38
() автор топика
Последнее исправление: Levernetut38 (всего исправлений: 1)
Ответ на: комментарий от Levernetut38

Ну я приверженец позиции: понять значит упростить. (или наоборот) Если что то сложно написано то значит то кто писал сам до конца четко не понимает сути.

mx__ ★★★★★
()
Ответ на: комментарий от Levernetut38

я думаю ваш ответ слишком упрощен

Ошибаешься. Чтобы ответ был упрощён, он должен существовать. А там просто нет ответа.

Ну а firkax всё правильно написал. Как раз вполне просто и лаконично.

CrX ★★★★★
()

Блин, @Dimez, раньше так удобно было по ЛОРу смотреть тренды расползания этого «поясните за», можно было по годам посмотреть и т.д., а ты взял и всё испортил…

CrX ★★★★★
()
Ответ на: комментарий от CrX

Вообще то он даже это не написал, по сути его ответ противоречит моему.

Вернее он его так запутал что можно его и так и так повернуть, про что я выше писал.

И если Вы считаете что понимаете работу Вайланд, то напишите ответ здесь, своими словами и чтобы было понятно многим.

mx__ ★★★★★
()
Последнее исправление: mx__ (всего исправлений: 1)
Ответ на: комментарий от mx__

Вообще то он даже это не написал, по сути его ответ противоречит моему.

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

Вернее он его так запутал что можно его и так и так повернуть, про что я выше писал.

Да ничего он не запутал. Всё последовательно, чётко и понятно, и без сложностей.

Неполно? Ну да, можно добавлять деталей.

И если Вы считаете что понимаете работу Вайланд, то напишите ответ здесь, своими словами и чтобы было понятно многим.

Не хочу. По-моему, firkax это уже сделал, причём именно так, чтобы было понятно многим. Я мог бы, наверное, это как-то дополнить, но мне лень, и главное, я не вижу в этом смысла. А уж смысла в том, чтобы это просто перефразировать «своими словами» — ещё меньше.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)