Różnice wizualne między środowiskami graficznymi GNOME i KDE są łatwe do zobaczenia, więc jak można bez problemu uruchamiać aplikację z jednej pod drugą? Dzisiejszy post Q & A SuperUser ma odpowiedź.
Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, społecznościowego forum z pytaniami i odpowiedziami.
Clipart "Shaking Hands" dzięki uprzejmości Clker.com.
Czytnik SuperUser LeNoob chce wiedzieć, w jaki sposób aplikacje KDE mogą działać pod GNOME:
Jeśli GNOME używa GTK +, a KDE używa Qt, to w jaki sposób aplikacje KDE mogą działać pod GNOME?
Co sprawia, że aplikacje KDE działają płynnie w GNOME?
Nadawca SuperUser ma dla nas odpowiedź:
Jest to możliwe, ponieważ te środowiska graficzne używają tego samego systemu graficznego, X11. Wszystkie programy graficzne obsługują tylko protokół X11 z serwerem X (zwykle Xorg), wysyłając polecenia, aby narysować to lub tamto, i odbierając zdarzenia wejściowe (mysz, klawiatura itp.).
Każdy zestaw narzędzi interfejsu użytkownika, taki jak GTK lub Qt, ma postać bibliotek, z którymi łączy się program graficzny. Zostanie użyty program napisany dla GNOME libgdk i libgtki użyje programu KDE libQtCore z libQtGui. Oba zestawy narzędzi po prostu używają tych samych funkcji X11, aby narysować wszystko w oknie danego programu.
Większość nowoczesnych narzędzi, takich jak GTK, Qt lub EFL, wykonuje wszystkie samodzielne rysowanie i po prostu wysyła gotowy obraz całego okna na X11. Starsze zestawy narzędzi, takie jak Xaw lub Motif, wysyłają polecenia do rysowania prymitywów, takich jak linie lub prostokąty, a serwer X renderuje wszystkie.
Protokół X11 obejmuje również zarządzanie oknami, więc każde środowisko pulpitu będzie miało program "menedżera okien", który rysuje ramki okien ("dekoracje"), pozwala przenosić i zmieniać rozmiar okien, i tak dalej. Współczesne menedżery okien "compositing" faktycznie przejmują zadanie Xorg polegające na komponowaniu wszystkich okien na końcowy obraz ekranu, co pozwala dodawać takie rzeczy jak cienie lub efekty.
Wiązanie w tym samym systemie graficznym dla łatwej "zgodności" jest niesamowitą rzeczą i wspaniałe, gdy chcesz, aby wszystkie twoje ulubione aplikacje działały w tym samym środowisku graficznym!
Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.