Как KDE Apps могат да се изпълняват под GNOME?
Визуалните различия между работните среди на GNOME и KDE се виждат лесно, така че как е възможно приложението да се стартира от едно под друго без проблеми? Днешната публикация на суперпотребителя има отговор.
Днешната сесия за въпроси и отговори идва при нас с любезното съдействие на SuperUser - подразделение на Stack Exchange, групирано от общността уеб сайтове за въпроси и отговори.
Клипторът "Shaking Hands" с любезното съдействие на Clker.com.
Въпроса
Читателят на SuperUser LeNoob иска да знае как KDE приложенията могат да работят под GNOME:
Ако GNOME използва GTK + и KDE използва Qt, как се изпълняват KDE приложенията под GNOME?
Какво прави KDE приложенията да работят гладко под GNOME?
Отговорът
Граубитът на сътрудника на SuperUser има отговор за нас:
Това е възможно, защото тези десктоп среди използват една и съща графична система, X11. Всички графични програми говорят само за X11 протокола с X сървър (обикновено Xorg), изпращане на команди за изготвяне на това или онова, и получаване на входни събития (мишка, клавиатура и др.).
Всеки инструментариум за потребителски интерфейс като GTK или Qt идва под формата на библиотеки, с които е свързана графичната програма. Ще се използва програма, написана за GNOME libgdk и libgtk, и KDE програма ще използва libQtCore с libQtGui. След това и двата инструментариума просто използват същите X11 функции, за да нарисуват всичко в прозореца на съответната програма.
Повечето съвременни инструменти, като GTK, Qt или EFL, изпълняват всички рисунки сами и просто изпращат готовия образ на целия прозорец през X11. По-стари инструменти като Xaw или Motif вместо това изпращат команди за рисуване на примитиви като линии или правоъгълници, а X сървърът прави всички.
Протоколът X11 обхваща и управлението на прозорци, така че всяка работна среда на работния плот ще разполага с програма за „прозорец мениджър“, която рисува прозоречни рамки („декорации“), ви позволява да премествате и оразмерявате прозорците и т.н. Модерните мениджъри на прозореца всъщност поемат работата на Xorg за композиране на всички прозорци върху окончателното изображение на екрана, като позволяват да се добавят неща като сенки или ефекти..
Свързването в една и съща графична система за лесна „съвместимост“ е страхотно нещо и е страхотно, когато искате всичките ви любими приложения да работят под една и съща десктоп среда!
Имате ли какво да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други технологични потребители на Stack Exchange? Вижте пълната тема за дискусия тук.