/ / Hvordan er KDE-apps i stand til at køre under GNOME?

Hvordan er KDE Apps i stand til at køre under GNOME?

hvordan-er-kde-apps-stand-til-run-under-gnome-00

De visuelle forskelle mellem GNOME og KDEdesktopmiljøer er lette at se, så hvordan er det muligt at køre en app fra hinanden uden problemer? Dagens SuperUser Q & A-indlæg har svaret.

Dagens spørgsmål & svar-session kommer til os med tilladelse fra SuperUser - en underafdeling af Stack Exchange, en samfundsdrevet gruppe af spørgsmål og svar på websteder.

Clipart med 'ryste hænder' med tilladelse fra Clker.com.

Spørgsmålet

SuperUser-læser LeNoob vil vide, hvordan KDE-apps er i stand til at køre under GNOME:

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

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

Svaret

SuperUser-bidragyder grawity har svaret for os:

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

Hver UI-værktøjssæt som GTK eller Qt kommer i form af biblioteker, som det grafiske program forbinder mod. Et program skrevet til GNOME vil bruge libgdk og libgtk, og et KDE-program vil bruge libQtCore med libQtGui. Begge værktøjssæt bruger derefter blot de samme X11-funktioner til at tegne alt i det respektive programvindue.

De fleste moderne værktøjssæt, som GTK, Qt eller EFL,udfør al tegning selv, og send bare det færdige billede af hele vinduet over X11. Ældre værktøjssæt som Xaw eller Motiv sender i stedet kommandoer til at tegne primitiver som linjer eller rektangler, og X-serveren gør alt gengivelse.

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

Binding til det samme grafiksystem for nem "kompatibilitet" er en fantastisk ting, og dejligt, når du vil have alle dine yndlingsapps kørt under det samme desktopmiljø!


Har du noget at tilføje til forklaringen? Lyd fra i kommentarerne. Vil du læse flere svar fra andre teknisk-erfarne Stack Exchange-brugere? Se den fulde diskussionstråd her.