5Aug

Hvordan kan KDE Apps køre under GNOME?

De visuelle forskelle mellem GNOME og KDE desktop miljøer er nemme at se, så hvordan er det muligt at køre en app fra den ene til den anden uden problemer? Dagens SuperUser Q & A-indlæg har svaret.

Dagens Spørgsmål &Svar session kommer til os høflighed af SuperUser-en underafdeling af Stack Exchange, en community-drevet gruppe af Q & A-websteder.

'Shaking Hands' clipart høflighed af Clker.com.

Spørgsmål

SuperUser-læser LeNoob ønsker at vide, hvordan KDE-apps kan køre under GNOME:

Hvis GNOME bruger GTK + og KDE bruger Qt, hvordan kan KDE-programmer køre under GNOME?

Hvad gør det muligt for KDE apps at køre problemfrit under GNOME?

Svaret

SuperUser bidragydergravity har svaret for os:

Dette er muligt, fordi disse skrivebordsmiljøer bruger det samme grafiksystem, X11.Alle grafiske programmer taler kun X11-protokollen med en X-server( normalt Xorg), sender kommandoer for at tegne dette eller det, og modtager inputhændelser( mus, tastatur osv.).

Hvert UI værktøjssæt som GTK eller Qt kommer i form af biblioteker, som det grafiske program forbinder imod. Et program skrevet til GNOME bruger libgdk og libgtk , og ​​et KDE-program bruger libQtCore med libQtGui .Begge værktøjssæt så brug simpelthen de samme X11-funktioner til at tegne alt i det respektive programs vindue.

De fleste moderne værktøjer, som GTK, Qt eller EFL, udfører alle tegninger selv og sender kun det færdige billede af hele vinduet over X11.Ældre værktøjer som Xaw eller Motif sender i stedet kommandoer for at tegne primitiver som linjer eller rektangler, og X-serveren gør det hele.

X11-protokollen dækker også vinduesstyring, så hvert skrivebordsmiljø har et "vindueshåndteringsprogram", der trækker vinduesrammer( "dekorationer"), giver dig mulighed for at flytte og ændre størrelse på vinduer osv. Moderne "compositing" vinduesforvaltere overtager faktisk Xorgs opgave at komponere alle vinduer på det endelige skærmbillede, så ting som skygger eller effekter kan tilføjes.

At binde til det samme grafiksystem for nem "kompatibilitet" er en fantastisk ting, og fantastisk, når du vil have alle dine yndlingsprogrammer kørende under det samme skrivebordsmiljø!

Har du noget at tilføje til forklaringen? Lyde af i kommentarerne. Vil du læse flere svar fra andre tech-savvy Stack Exchange brugere? Tjek den fulde diskussionstråd her.