X Window Systemsystem okien, czyli komponent graficznego interfejsu użytkownika, stworzony w latach 80. XX wieku w laboratoriach Massachusetts Institute of Technology (MIT). Obecnie prace nadzoruje X.Org Foundation, a najnowszym wydaniem jest wersja 11. Często oprócz X Window System stosuje się też nazwę X, X11, X11R6 (dla implementacji X.Org w wersjach 6) lub X11R7.

X Window system
Producent

Massachusetts Institute of Technology

Architektura

klient-serwer

Pierwsze wydanie

czerwiec 1984

Aktualna wersja

X11R7.7
(6 czerwca 2012) [±]

Licencja
Strona internetowa

Nazwa X Windows (poprzez analogię do Microsoft Windows), chociaż rozpowszechniona, jest niepoprawna.

Najpopularniejszymi implementacjami X Window System są X.Org oraz XFree86.

 
X Window System historyczny już graficzny interfejs użytkownika; aplikacje dystrybucji MIT X Consortium uruchomione pod menedżerem okien twm: X Terminal, Xbiff, xload oraz graficzny edytor
 
Środowisko graficzne GNOME

System X tworzy okna, na których program może tworzyć obraz, oraz zajmuje się obsługą urządzeń wejściowych (myszki, klawiatury, tabletu). Serwer X może rysować tylko najprostsze obiekty (odcinki, wielokąty, elipsy, wyświetlać bitmapy, stawiać pojedyncze piksele), nie dostarcza natomiast żadnego interfejsu użytkownika, czyli przycisków, rozwijanych menu, pasków przewijania itp. Rysowaniem i obsługą tych elementów musi zająć się program, najczęściej jest to biblioteka widgetów. System X nie zajmuje się również obsługą okien, nie dostarcza żadnych wbudowanych mechanizmów do ich przesuwania, zmiany rozmiaru, zamykania i uruchamiania programów itd., nie rysuje także pasków tytułowych dla okien – tym wszystkim musi zająć się osobny program, tzw. menedżer okien (ang. window manager).

Pierwszymi bibliotekami widgetów były Athena, Motif oraz OpenLook, dzięki którym udało się stworzyć proste środowiska graficzne. Dzisiejsze GNOME i KDE (korzystające odpowiednio z bibliotek: GTK i GTK+ oraz Qt) to całe rozbudowane środowiska graficzne starające się tworzyć pewną użytkową całość.

X Window System zaprojektowany jest w architekturze klient-serwer, co oznacza, że składa się z dwóch elementów: z serwera, zajmującego się wyświetlaniem grafiki oraz obsługą klawiatury i myszy, oraz z klienta, czyli oprogramowania żądającego od serwera zmian zawartości okna. Oba elementy komunikują się ze sobą przy pomocy protokołu przezroczystego sieciowo, co oznacza, że nie ma znaczenia, czy oba elementy systemu działają na tym samym komputerze, czy na dwóch różnych maszynach. Jedna maszyna może wykonywać program, druga może wyświetlać wynik działania programu. Przykładem może być sytuacja, w której użytkownik pracuje zdalnie na odległym komputerze korzystając z X Window System. Jego lokalny komputer (ten, przy którym siedzi) działa jako serwer X zapewniając graficzny interfejs użytkownika. Na zdalnym komputerze działa uruchomiony przez użytkownika program, będący klientem serwera X działającego na maszynie lokalnej. Z serwera na maszynie lokalnej program na maszynie odległej otrzymuje instrukcje sterujące użytkownika i na maszynę lokalną przesyła wyniki swojego działania.

Twórcy protokołu X przewidzieli możliwość jego rozszerzenia o nowe funkcje. Na przykład na potrzeby biblioteki OpenGL powstało rozszerzenie GLX.

Historia

edytuj
  • X Window System został stworzony w czerwcu 1984 roku w laboratoriach Massachusetts Institute of Technology (MIT) przez Boba Scheiflera.
  • W 1988 powołano MIT X Consortium, a w 1992 postanowiono przenieść konsorcjum poza MIT, tworząc oddzielną i niezależną organizację.
  • W 1993 roku utworzono X Consortium, finansowane przez jego członków.
  • 1 stycznia 1994 roku wszystkie prawa do X Window System zostały przekazane X Consortium, Inc.
  • Na początku 1996 roku w wyniku połączenia Open Software Foundation (OSF) i X/Open powstała The Open Group.
  • X Consortium, Inc. zostało rozwiązane 31 grudnia 1996 roku. Wszystkie prawa do X Window System przekazano The Open Group.
  • X Project Team została utworzona przez The Open Group jako następca X Consortium, Inc.
  • The Open Group rozwiązało X Project Team i w maju 1999 roku powołało X.Org Group.
  • 22 stycznia 2004 członkowie X.Org Group utworzyli X.Org Foundation.

Wydania

edytuj
  • przed X11R2 – MIT
  • od X11R2 do X11R5 – MIT X Consortium
  • od X11R6.0 do X11R6.3 – The X Consortium, Inc.
  • X11R6.4 – The Open Group X Project Team
  • X11R6.5, X11R6.5.1, X11R6.6 – The X.Org Group
  • od X11R6.7 – X.Org Foundation
wersja data wydania najważniejsze zmiany
X1 czerwiec 1984 pierwszy raz użyto nazwy X; zmieniając protokół z synchronicznego protokołu używanego przez W Window System na asynchroniczny
X6 styczeń 1985 pierwsza wersja udostępniona (odpłatnie) poza MIT
X9 wrzesień 1985 kolor; pierwsze wydanie używające licencji X11 (MIT License)
X10 koniec 1985 IBM RT/PC, AT (pod DOS) i inne platformy
X10R2 styczeń 1986
X10R3 luty 1986 pierwsze wydanie dostępne poza MIT; UWM (Ultrix Window Manager)
X10R4 grudzień 1986 ostatnia wersji X10
X11 1987-09-15 pierwsza wersja X11
X11R2 luty 1988 pierwsze wydanie MIT X Consortium [1] (ang.)
X11R3 1988-10-25 XDM (the X Display Manager)
X11R4 1989-12-22 XDMCP (X Display Manager Control Protocol), twm (Tom’s Window Manager), rozszerzenie SHAPE, nowe czcionki
X11R5 1991-09-05 PHIGS (Programmer’s Hierarchical Interactive Graphics System) 3D API używane przez rozszerzenie PEX, Xcms (system zarządzania kolorem), xfs (X font server), nowa gałąź kodu X386, rozszerzenie XVideo; ostatnie wydanie MIT X Consortium
X11R6 1994-05-16 ICCCM v2.0 (Inter-Client Communication Conventions Manual); Inter-Client Exchange; X Session Management; rozszerzenia SYNC, XIE (X Image Extension), XTEST, XInputExtension, BIG-REQUESTS, XC-MISC; pojawia się gałąź kodu XFree86; pierwsze wydanie The X Consortium
X11R6.1 1996-03-14 rozszerzenia DOUBLE-BUFFER, RECORD, XKEYBOARD
X11R6.2
X11R6.3 (Broadway)
1996-12-23 rozszerzenie LBX (Low Bandwidth X); ostatnie wydanie przez X Consortium; X11R6.2 is the tag for a subset of X11R6.3 with the only new features over R6.1 being XPrint and the Xlib implementation of vertical writing and user-defined character support [2] (ang.); ostatnie wydanie The X Consortium
X11R6.4 1998-03-31 Xinerama [3] (ang.); jedyne wydanie The Open Group X Project Team (X Window System, Version 11 Release 6.4 Release Notes (ang.))
X11R6.5 wewnętrzne wydanie X.org
X11R6.5.1 2000-08-20 pierwsze wydanie firmowane przez The X.Org Group (X Window System, Version 11 Release 6.5.1 Release Notes (ang.))
X11R6.6 2001-04-04 ostatnie wydanie firmowane przez The X.Org Group (X Window System, Version 11 Release 6.6 Release Notes (ang.))
X11R6.7.0 2004-04-06 pierwsze wydanie X.Org Foundation, dołączony kod z XFree86 4.4 RC2; IPv6, usunięcie rozszerzeń XIE, PEX i kodu libxml2 [4] (ang.)
X11R6.8.0 2004-09-08 przeroczyste okna (Window translucency), DMX (Distributed Multihead X), rozszerzenia XFixes, Damage, Composite i XEvIE (X Event Interception Extension) (Release Notes for X11R6.8 (ang.))
X11R6.8.1 2004-09-17 poprawka bezpieczeństwa libXpm (Release Notes for X11R6.8.1 (ang.))
X11R6.8.2 2005-02-10 poprawki, ulepszenia sterowników (Release Notes for X11R6.8.2 (ang.))
X11R6.9
X11R7.0
2005-12-21 EXA, istotne zmiany: wersja 7.0 używa Autotools (GNU Build System); ostatnią wersją używającą imake jest wersja 6.9 (Release Notes for X11R6.9 and X11R7.0 (ang.))
X11R7.1 2006-05-22 KDrive, AIGLX, ulepszenia EXA, ulepszenia wsparcia różnych systemów operacyjnych i wsparcia dla różnych platform sprzętowych (Release Notes for X11R7.1 (ang.))
X11R7.2 2007-02-15 XCB (X C Binding), usunięcie rozszerzenia LBX, dodanie rozszerzenia XACE (security framework), ulepszenia autoconfig (nota wydania 7.2 (ang.))
X11R7.3 2007-09-06 plug and play wejścia (input hotplug) i wyjścia (output hotplug – RandR 1.2), DTrace pod OpenSolaris, ulepszenia KDrive; w przygotowaniu: moduły dla SELinux i Solaris Trusted Extensions, wsparcie dla UnixWare (nota wydania 7.3 (ang.))
X11R7.4 2008-09-23 (nota wydania 7.4 (ang.))
X11R7.5 2009-10-26 (nota wydania 7.5 (ang.))
X11R7.6 2010-12-20 (nota wydania 7.6 (ang.))
X11R7.7 2012-06-06 (nota wydania 7.7 (pol.))

Zobacz też

edytuj

Linki zewnętrzne

edytuj
  NODES
INTERN 3
Note 8
Project 4