5Aug

Hur går det att köra KDE Apps under GNOME?

click fraud protection

De visuella skillnaderna mellan GNOME- och KDE-skrivbordsmiljöerna är lätta att se, så hur är det möjligt att köra en app från den ena under den andra utan problem? Dagens SuperUser Q & A-inlägg har svaret.

Dagens fråga &Svarssession kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.

'Shaking Hands' clipart med tillstånd av Clker.com.

Frågan

SuperUser-läsare LeNoob vill veta hur KDE-appar kan köras under GNOME:

Om GNOME använder GTK + och KDE använder Qt, hur kan KDE-program körs under GNOME?

Vad gör det möjligt för KDE-appar att köras smidigt under GNOME?

Svaret

Graden av SuperUser-bidragsgivare har svaret för oss:

Det här är möjligt eftersom dessa skrivbordsmiljöer använder samma grafiksystem, X11.Alla grafiska program talar bara X11-protokollet med en X-server( vanligtvis Xorg), skickar kommandon för att rita detta eller så och tar emot ingångshändelser( mus, tangentbord, etc.).

instagram viewer

Varje användargränssnitt som GTK eller Qt kommer i form av bibliotek som det grafiska programmet länkar till. Ett program som skrivs för GNOME kommer att använda libgdk och libgtk , och ett KDE-program kommer att använda libQtCore med libQtGui .Båda verktygen använder helt enkelt samma X11-funktioner för att rita allt i respektive programfönster.

De flesta moderna verktyg, som GTK, Qt eller EFL, utför alla ritningar själva och skickar bara den färdiga bilden av hela fönstret över X11.Äldre verktyg som Xaw eller Motif skickar istället kommandon för att rita primitiver som linjer eller rektanglar, och X-servern gör allt.

X11-protokollet täcker även fönsterhantering, så varje skrivbordsmiljö kommer att ha ett "window manager" -program som drar fönsterramar( "dekorationer"), så att du kan flytta och ändra storlek på Windows, och så vidare. Moderna "compositing" fönsterhanterare tar faktiskt Xorgs jobb att komponera alla fönster på den slutliga skärmbilden, så att saker som skuggor eller effekter kan läggas till.

Att binda in samma grafiksystem för enkel "kompatibilitet" är en fantastisk sak, och bra när du vill ha alla dina favoritappar att köra under samma skrivbordsmiljö!

Har något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.