Die visuellen Unterschiede zwischen den GNOME- und KDE-Desktopumgebungen sind leicht zu erkennen. Wie kann man also eine App problemlos untereinander ausführen? Der heutige SuperUser Q&A-Post hat die Antwort.
Die Frage
SuperUser-Leser LeNoob möchte wissen, wie KDE-Apps unter GNOME laufen können:
Wenn GNOME GTK+ und KDE Qt verwendet, wie können dann KDE-Anwendungen unter GNOME ausgeführt werden?
Was macht es möglich, dass KDE-Apps unter GNOME reibungslos laufen?
Die Antwort
Grawity von SuperUser hat die Antwort für uns:
Dies ist möglich, da diese Desktopumgebungen das gleiche Grafiksystem X11 verwenden. Alle grafischen Programme sprechen nur das X11-Protokoll mit einem X-Server (normalerweise Xorg), senden Befehle, um dies oder das zu zeichnen, und empfangen Eingabeereignisse (Maus, Tastatur usw.).
Jedes UI-Toolkit wie GTK oder Qt kommt in Form von Bibliotheken, gegen die das grafische Programm verlinkt. Ein für GNOME geschriebenes Programm verwendet und und ein KDE-Programm verwendet mit . Beide Toolkits verwenden dann einfach die gleichen X11-Funktionen, um alles im jeweiligen Programmfenster zu zeichnen.
Die meisten modernen Toolkits, wie GTK, Qt oder EFL, führen alle Zeichnungen selbst durch und senden einfach das fertige Bild des gesamten Fensters über X11. Ältere Toolkits wie Xaw oder Motif senden stattdessen Befehle zum Zeichnen von Grundelementen wie Linien oder Rechtecken, und der X-Server übernimmt das gesamte Rendern.
Das X11-Protokoll deckt auch die Fensterverwaltung ab, sodass jede Desktop-Umgebung über ein „Fenstermanager“-Programm verfügt, das Fensterrahmen („Dekorationen“) zeichnet, Ihnen das Verschieben und Ändern der Fenstergröße ermöglicht und so weiter. Moderne „Compositing“-Fenstermanager übernehmen eigentlich die Aufgabe von Xorg, alle Fenster auf dem endgültigen Bildschirmbild zusammenzusetzen, sodass Dinge wie Schatten oder Effekte hinzugefügt werden können.
Die Einbindung in dasselbe Grafiksystem für einfache „Kompatibilität“ ist eine großartige Sache und großartig, wenn Sie alle Ihre Lieblings-Apps unter derselben Desktop-Umgebung laufen lassen möchten!
Möchten Sie der Erklärung noch etwas hinzufügen? Ton aus in den Kommentaren. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Sehen Sie sich hier den vollständigen Diskussionsthread an.