Czym dokładnie jest X11?

14

Czytam Wikipedię o X11 i mówi ona, że:

W standardowej dystrybucji jest to kompletne, aczkolwiek proste rozwiązanie w zakresie wyświetlania i interfejsu, które dostarcza standardowy zestaw narzędzi i stos protokołów do budowy graficznych interfejsów użytkownika w większości systemów operacyjnych typu Unix ...

Ale później mówi, że:

X przede wszystkim definiuje prymitywy protokołu i grafiki - celowo nie zawiera specyfikacji projektowania interfejsu użytkownika aplikacji, takich jak style przycisków, menu lub stylów paska tytułowego okna.

Czy X11 zapewnia widżety takie jak przycisk, panel / rama okna itp., Czy nie? Co to jest prymityw graficzny? Co dokładnie zapewnia X11?

Stwierdzono również, że:

X nie nakazuje interfejsu użytkownika; poradzą sobie z tym poszczególne programy klienckie. Programy mogą korzystać z możliwości graficznych X bez interfejsu użytkownika.

Co to znaczy?

Ukryty
źródło
4
Myślę, że powinieneś prawdopodobnie przejść do strony rozmowy odpowiadającej tej stronie w Wikipedii i rozpocząć rozmowę mającą na celu wyjaśnienie autorom ich artykułu.
RealSkeptic

Odpowiedzi:

18

Jak wiele słów, „X11” może mieć wiele znaczeń.

„X11” jest, ściśle mówiąc, protokołem komunikacyjnym. W zdaniach „X przede wszystkim definiuje prymitywy protokołu i grafiki…” i „X nie nakazuje interfejsu użytkownika…”, do tego odnosi się X. X to rodzina protokołów, X11 to 11. wersja i jedyna używana przez ostatnie 25 lat.

Pierwsze zdanie w twoim pytaniu odnosi się do dystrybucji oprogramowania, która jest referencyjną implementacją protokołu X11. Pełna nazwa tej dystrybucji oprogramowania to „X Window System”. Ta dystrybucja obejmuje programy działające jako serwery w protokole X11, programy działające jako klienci w protokole X11, biblioteki kodów zawierające kod korzystający z protokołu X11, powiązaną dokumentację, zasoby, takie jak czcionki i układy klawiatury, których można użyć z wyżej wymienionymi programami i bibliotekami itp. Historycznie , ta dystrybucja oprogramowania została wykonana przez MIT; dziś jest utrzymywany przez X.Org Foundation .

Protokół X11 pozwala aplikacjom tworzyć obiekty, takie jak okna i korzystać z podstawowych operacji podstawowych rysowania (np. Wypełniać prostokąt, wyświetlać tekst). Widżety takie jak przyciski, menu itp. Są tworzone przez biblioteki klienckie. System X Window zawiera podstawową bibliotekę ( zestaw widżetów Athena ), ale większość aplikacji korzysta z bardziej wyszukanych bibliotek, takich jak GTK + , Qt , Motif itp.

Niektóre programy X11 w ogóle nie mają graficznego interfejsu użytkownika, na przykład narzędzia wiersza poleceń, takie jak xset , xsel i xdotool , programy do przypisywania klawiszy , takie jak xbindkeys itp. Większość programów X11 ma oczywiście GUI.

Gilles „SO- przestań być zły”
źródło
2

X11, znany także jako X.org Foundation Windowing, jest używany głównie przez inne środowiska graficzne, takie jak KDE i GNOME, między innymi, aby zapewnić abstrakcyjny interfejs do zarządzania GUI. Bez polegania na X KDE / GNOME / inni musieliby napisać kod, aby samodzielnie wykonać kodowanie na niskim poziomie. Zamiast tego KDE / GNOME komunikuje się w obie strony z X (działa jako proces serwera, z którym łączą się „klienci”).

Crajun
źródło
2
Również w tym pomaga wyjaśnić, jak również dają pewien wgląd dlaczego Wayland i inne zamienniki X są budowane: art.net/~hopkins/Don/unix-haters/x-windows/disaster.html
crajun
To jest rant.
Stefan Skoglund
I to także w inny sposób wyjaśnia charakterystykę UNIX Kena Olsena jako produktów sprzedawanych przez węża, ale to jest kapitalizm! Twierdzeniem jest projektowanie MOTIF i uruchamianie go wszędzie, obecnie bardziej przypomina projektowanie okien MS i uruchamianie go wszędzie (to monopol, a nie rynek). Ken Olsen doskonale wiedział, że projektowanie MOTIF i uruchamianie na wszystko nie działa zainteresowanie producentów - ergo tak się nie stanie.
Stefan Skoglund
1

Niektóre pojęcia:
- X Windows System Windowsing system. (umożliwia przenoszenie okien na urządzeniu wyświetlającym i interakcję z myszą i klawiaturą)
- X.Org Server Implementacja X Windows System typu open source przez X.Org Foundation.
- emulator terminala xterm dla systemu X Windows.
- X Client : aplikacja działa na serwerze X. System X Windows wymaga, aby klienci i serwer działali osobno. Aplikacje, takie jak QT, GTK i inni klienci X, potrzebują współpracy z serwerem X, aby działać poprawnie.

Wcześniej czuję się bardzo zdezorientowany tym problemem. Początkowo instalowałem system linux na boku systemu Windows, wiele razy miałem problemy z błędami Xorga.
Ostatnio używam xclipna zdalnym serwerze. Oprogramowanie wymaga ustawienia zmiennej środowiskowej DISPLAY, co nie ma miejsca na moim zdalnym serwerze. Nie ma monitora, myszy ani klawiatury, a zmienną zarządza serwer X.

Qinsheng Zhang
źródło
1

System okien X11 miał wsparcie (ze specjalnym wsparciem producenta) dla sporej liczby raczej skomplikowanych konstrukcji / projektów.

Zastosowanie DisplayPostscript w NeWS (Sun / Sony) oznaczało, że serwer miał wbudowaną pełną i raczej ładną obsługę (Display) Postscript. Obsługa ta była zdalnie wykorzystywana przez aplikację, na przykład program działający na cray x-mp mógł z te same ograniczenia / interfejs / zdolności wyświetlają mapę sejsmiczną na komputerze w taki sam sposób, jak gdyby ta sama mapa była drukowana na wysokiej klasy drukarce laserowej / kserokopiarce.

Stefan Skoglund
źródło