(Patrzę na relację GNOME i X. Chciałbym podzielić się niektórymi z moich zrozumienia. Przedstawię to w logiczny sposób, jak tylko mogę.)
1. Z czego składa się GUI?
Poniżej znajduje się ilustracja podstawowych elementów GUI.
Kluczowym składnikiem jest serwer wyświetlania . Dostępnych jest kilka serwerów wyświetlania. Jak na przykład:
- X11 (głównie dla * nix)
- Wayland (głównie dla * nix)
- Mir (głównie dla * nix)
- SurfaceFlinger (dotyczy Google Android).
- Kompozytor kwarcowy (tego używa Apple MacOS).
- Menedżer okien pulpitu (tego używa Microsoft Windows).
2. Co to jest X?
X, X11 i X Window System są synonimami. Wszystkie oznaczają system okienkowy . System okien to rodzaj graficznego interfejsu użytkownika (GUI, jak wspomniałem powyżej), który implementuje paradygmat WIMP (okna, ikony, menu, wskaźnik) dla interfejsu użytkownika.
Oto lista głównych systemów okienkowych dla systemów Linux i Windows.
Główny składnik każdego systemu okienkowego jest zwykle nazywany serwerem wyświetlania (nic dziwnego, ponieważ system okien jest rodzajem GUI, a serwer wyświetlania jest kluczową częścią każdego GUI), chociaż używane są również inne nazwy, takie jak serwer okien lub kompozytor .
Każdy wniosek, który działa i prezentuje GUI jest klient z serwerem graficznym . Serwer wyświetlający i jego klienci komunikują się ze sobą za pośrednictwem protokołu komunikacyjnego, który jest zwykle nazywany protokołem serwera wyświetlającego , przy czym serwer wyświetlania jest mediatorem między klientami a użytkownikiem. Serwer wyświetlania odbiera wszystkie dane wejściowe z jądra, które jądro odbiera ze wszystkich podłączonych urządzeń wejściowych, takich jak klawiatura, urządzenia wskazujące lub ekran dotykowy, i przesyła je do właściwego klienta. Serwer wyświetlacza jest również odpowiedzialny za wyjście klientów na monitor komputera. Protokół serwera wyświetlaczmoże być zdolny do pracy w sieci lub nawet sieciowy. (jak widać, chodzi przede wszystkim o przepływ danych i routing, dane wizualne to nadal dane).
I zgodnie z tutaj :
X Server to program, który zapewnia wyświetlanie i wprowadzanie danych przez użytkownika innym programom. Dla porównania, serwer plików zapewnia innym programom dostęp do urządzeń do przechowywania plików. Serwery plików zazwyczaj znajdują się w zdalnej lokalizacji, a użytkownik korzysta z usług serwera plików z komputera, na którym się znajduje. Natomiast X Server zazwyczaj działa na komputerze, na którym się znajdujesz ; usługi wyświetlania i wprowadzania danych użytkownika mogą być wymagane przez programy uruchomione na twoim komputerze, a także przez programy działające na zdalnych komputerach.
Więc X składa się z:
- serwer wyświetlania
- wyświetlić protokół serwera
- trochę bibliotek dla programistów
- i inne rzeczy
Według tutaj :
X zapewnia podstawową strukturę środowiska graficznego: rysowanie i przenoszenie okien na urządzeniu wyświetlającym oraz interakcja z myszą i klawiaturą. X nie wymaga interfejsu użytkownika - jest to obsługiwane przez poszczególne programy. W związku z tym styl wizualny środowisk opartych na X jest bardzo zróżnicowany; różne programy mogą prezentować radykalnie różne interfejsy.
Innymi słowy, X daje tylko programowi możliwość wykonywania podstawowych czynności, takich jak rysowanie / przenoszenie okien i interakcja danych wejściowych . X nie wymusza stylów wizualnych. Więc to, co powiedziałeś „ ... Daje standard aplikacjom do prezentowania swoich interfejsów użytkownika ... ” jest niepoprawne.
3. Co to jest GNOME / KDE
Zarówno GNOME, jak i KDE to Linux Desktop Environment . Środowisko pulpitu to pakiet programów działających na systemie operacyjnym, które mają wspólny interfejs GUI .
Ale tak jak wspomniałem powyżej, X11, jako serwer wyświetlania, zapewnia jedynie podstawową możliwość rysowania za pośrednictwem niektórych bibliotek, takich jak Xlib lub XCB. Aplikacje, które bezpośrednio interfejsują X11 za pośrednictwem takich bibliotek, mogą mieć radykalnie różne style wizualne .
Jak stworzyć wspólny GUI? Oto zestawy narzędzi widgetów . Takich jak GTK + i Qt . Są popularne w systemach okienkowych Wayland i X11 .
GNOME korzysta z GTK +.
KDE używa Qt.
A oto porównanie środowisk pulpitu systemu X Window.
Podsumowując ...
Rysuję szorstką konceptualną ilustrację. 3 części powyżej systemu operacyjnego można bardzo dostosować. Dlatego powstaje tak duża elastyczność (zamieszanie).
DODAJ 1 - 13:26 21.09.2018
A oto kilka dyskusji na temat QT i GTK (może nie na temat tego wątku ...)