X Window System

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
X Window System
software
Siglă
Exemplu de captură de ecran
Tip Sistem de bobinare
Dezvoltator Fundația X.Org
Data primei versiuni 1984
Ultima versiune X11R7.7 (6 iunie 2012)
Sistem de operare Multiplatform
Licență MIT
( licență gratuită )
Site-ul web x.org

X Window System (cunoscut în jargon ca X Window , X11 sau pur și simplu X ), în informatică , este un manager grafic foarte popular, standardul de facto pentru multe sisteme de tip Unix ( Linux și FreeBSD incluse), publicat sub un software licență gratuită , din 2004, dezvoltarea a fost gestionată de Fundația X.Org .

Acesta derivă dintr-o interfață grafică numită W ( W Window System ) dezvoltată de Brian Red și Paul Ascente la Universitatea Stanford în anii 1980 ; a fost creat de MIT în 1984 . Cea mai recentă versiune a protocolului, X11, a fost finalizată în septembrie 1987 . X.Org Foundation implementează protocolul X versiunea 11 în XOrg . Versiunea 7.7 este disponibilă din iunie 2012 .

Istorie

Creatia

În 1984 Bob Scheifler cu colaborarea lui Jim Gettys a schimbat protocolul sincron W la unul asincron numit X (versiunea 1). Scheifler și ceilalți (puțini) programatori au lucrat foarte repede și cu angajament în proiect, de fapt versiunea 6 a fost publicată încă din 1985 . X a fost portat pe diferite platforme, începea să devină interesant și o mulțime de oameni din afară îl cereau. X11 datează din 1987, când companiile mari, inclusiv Sun Microsystems , IBM și HP, aveau nevoie de un standard pentru interfețele grafice și, odată ce s-au alăturat consorțiului X.org, au decis specificațiile pentru X11.

Evoluția XFree86

Pictogramă lupă mgx2.svg Același subiect în detaliu: XFree86 .

În ciuda timpului care a trecut de atunci, inima lui X11 a rămas practic neschimbată, ultima versiune cu modificare a codului de bază X a fost X11R4, dar singurul său scop a fost creșterea portabilității pe mașinile Sun. de modificări semnificative au coincis cu o slăbirea consorțiului X.org, care nu mai putea gestiona corect proiectul, așa că cu X11R6.6 a apărut XFree86 (al cărui nume este un joc de cuvinte: X gratuit opt ​​șase -> X trei opt șase , X386) .

XFree86 a promis să îmbunătățească radical X și a devenit rapid un proiect cu un număr mare de persoane. Nici rezultatele sperate nu au venit cu XFree și, lipsit de interesul și finanțarea de la vechile companii, X a trebuit să se bazeze brusc doar pe voluntari.

Mai serios, bibliotecile X (xlibs) erau total inadecvate pentru utilizări grafice avansate, cum ar fi un mediu desktop, și erau un coșmar pentru programatorii care încercau să pună mâna pe el; din această nevoie au apărut „seturile de instrumente”, adică bibliotecile care, bazându-se pe xlib, nu numai că au implementat funcții lipsă prin furnizarea de instrumente suplimentare, dar simplifică și programarea aplicațiilor grafice pentru X. Cel mai faimos set de instrumente din toate timpurile este probabil Motif . De asemenea, sunt renumite bibliotecile Qt pe care se bazează KDE sau GTK (născut din Gimp ) extins apoi în GTK + .

În timp ce aceste seturi de instrumente au favorizat dezvoltarea aplicațiilor grafice, odată cu apariția KDE și GNOME am văzut cât de limitat era X: era lent și greoi. Membrii echipei de bază XFree86 au proiectat versiunea 4.0, mai modulară, mai slabă, cu noi extensii, și astfel, în martie 2000, XFree 4.0 avea unele caracteristici pe care utilizatorii de desktop le ceruseră atât de mult, cum ar fi suportul pentru fonturi cu antialiasing și suport pentru grafica 3D .

Dar încă nu a fost suficient: știrile au fost puține și dezvoltatorii înșiși au fost nemulțumiți de metoda de dezvoltare, deoarece bug-urile grave au rămas deschise de luni de zile și cu lansarea 4.3, unul dintre cei mai inovatori dezvoltatori aparținând echipei de bază (Keith Packard) a rămas XFree.

Se utilizează în distribuțiile GNU / Linux

Cu toate acestea, companiile au revizuit modul de a aduce Linux pe desktop-uri în XFree, iar un nou consorțiu a reînviat X.Org Foundation. Noii dezvoltatori au participat la proiect, atât pe filiala oficială, cât și pe părțile experimentale ale noii fundații.

Dar odată cu lansarea 4.4rc3, licența XFree s-a schimbat, făcând-o incompatibilă cu GPL , nu mai putea fi inclusă în distribuțiile Linux și trebuia să înceapă un nou proiect. Majoritatea dezvoltatorilor, abandonând XFree în favoarea X.org, au lansat X11 6.7 (Xorg 6.7) pe 6 aprilie 2004 . Bazat pe XFree4.4rc2, avea corecții de erori și noi caracteristici, cum ar fi noua manipulare IPv6 , module de gestionare a fonturilor revizuite, o nouă versiune a Xrender și Xcursor.

În septembrie 2004, a fost lansat Xorg 6.8, care a adus noi caracteristici interesante, cum ar fi ferestre translucide, animații, decorațiuni ale ferestrelor (de exemplu, umbre) și suport pentru aplicații accesibile. Câteva zile mai târziu, a fost lansată versiunea 6.8.1 care a remediat o eroare de securitate.

La 21 decembrie 2005, în deplină conformitate cu foaia de parcurs anunțată oficial, a fost lansat Xorg X11R7.0, prima versiune majoră a sistemului X Window după 10 ani de stagnare și dezvoltare intermitentă. În paralel, a fost lansat X11R6.9, conținând același cod ca 7.0, dar într-un singur bloc de aproximativ 16 milioane de linii de cod. Aceasta este tocmai una dintre inovațiile majore în comparație cu trecutul: Xorg 7.0 a adus modularizarea codului serverului grafic, punând bazele pentru o dezvoltare mai rapidă. Printre numeroasele note inovatoare, pe lângă driverele actualizate pentru hardware video, găsim EXA , noua arhitectură de accelerare.

Caracteristici generale

Oferă mediul și componentele de bază pentru interfețele grafice - desenarea, mutarea ferestrelor de pe ecran și interacțiunea cu dispozitivele de intrare , cum ar fi mouse-ul și tastatura . X nu gestionează interfața grafică a utilizatorului, adică stilul grafic al aplicațiilor care sunt gestionate de mediul desktop ales de utilizator și utilizate în computer .

O altă caracteristică foarte importantă este transparența rețelei: mașina pe care rulează programele ( client ) nu trebuie neapărat să fie mașina locală ( server de afișare ). Termenii server și client sunt adesea confundați: pentru X, serverul este afișajul local al utilizatorului, nu o mașină la distanță. Acest lucru vă permite, de asemenea, să vizualizați aplicații care rulează pe diferite gazde pe același afișaj sau aplicații care rulează pe o gazdă a cărei interfață grafică se termină pe afișaje diferite.

X este acum utilizat și în mod secundar de către sistemele de operare care nu îl suportă nativ (de exemplu, macOS , care folosește nativ Quartz ), pentru a permite funcționarea software-ului proiectat pentru acest sistem grafic, cum ar fi suita de birou OpenOffice.org și GIMP .

Modelul client / server

Pictogramă lupă mgx2.svg Același subiect în detaliu: X Window System protocoale și arhitectură .
Arhitectura unui client X Window System.

Folosește un model client / server : cu alte cuvinte, serverul X comunică cu alte programe (clienți). Serverul acceptă cereri de ieșire grafică (Windows) și de intrare de utilizator (prin tastatură, mouse sau ecran tactil ). Serverul X poate fi:

  • un program de sistem care controlează ieșirea video a unui computer;
  • o componentă hardware dedicată (așa-numitele terminale X : computere echipate numai cu hardware-ul necesar pentru a rula serverul X, concepute pentru a afișa aplicații care rulează pe anumite servere de aplicații);
  • o aplicație care afișează date pe o fereastră a unui alt sistem grafic.

Numele client / server confundă adesea noii utilizatori de X deoarece termenii par inversați: „serverul” utilizat de programele de aplicații (clienți) rulează pe terminalul utilizatorului. X oferă un serviciu de vizualizare a programelor, în această perspectivă acționează ca un server, în timp ce programul de aplicație (care poate fi și la distanță prin conexiune la distanță ) folosește serviciile, deci acționează ca un client.

Protocolul de comunicație dintre server și client funcționează transparent în ceea ce privește rețeaua: ambele pot locui pe aceeași mașină sau pe alte mașini, chiar și cu arhitecturi și sisteme de operare diferite ; serverul și clientul pot comunica, de asemenea, în siguranță prin rețea utilizând un tunel criptat ( SSH este adesea folosit).

Interfața cu utilizatorul

X Window System rulează în Tom's Window Manager (TWM) la începutul anilor '90.

Sistemul X a fost special conceput pentru a nu oferi suport predeterminat pentru elementele interfeței utilizatorului (cum ar fi butoane, meniuri, bare de titlu). Această infrastructură este apoi creată și furnizată de mediile desktop. Din acest motiv, interfețele X au variat considerabil în timp și sunt diferite de la un manager de desktop la altul.

Controlul afișajului și poziționarea ferestrelor este sarcina unei anumite aplicații software, numită manager de ferestre , independent de X. Exemple ale acestui software sunt KWin pentru KDE sau Metacity pentru GNOME . Această setare a permis, de exemplu, utilizarea unui manager de ferestre cu efecte 3D avansate care efectuează doar modificări minore la serverul X.

Este responsabil pentru furnizarea interfeței cu tastatura, mouse-ul și alte dispozitive de intrare. Din acest motiv, unele comenzi rapide de la tastatură sunt asociate nativ cu serverul X. Control-Alt-Backspace termină serverul X care rulează în timp ce Control-Alt împreună cu o tastă funcțională modifică consola virtuală utilizată.

Versiunea istorică

Versiune Data publicării Comentarii despre versiune
X1 Iunie 1984 Prima versiune unde se folosește numele X ; schimbări profunde care îl disting de W.
X6 Ianuarie 1985 Prima versiune licențiată pentru o mână de companii.
X9 Septembrie 1985 Suport color și prima versiune sub licență MIT .
X10 Noiembrie 1985 Suport pentru IBM RT / PC, AT (sub DOS) și altele
X10R2 Ianuarie 1986
X10R3 Februarie 1986 Prima lansare în afara MIT. Suport pentru standardele timpurii pentru ferestrele grafice.
X10R4 Decembrie 1986 Ultima versiune a X10.
X11 15 septembrie 1987 Prima versiune a versiunii care implementează cel mai recent protocol.
X11R2 Februarie 1988 Prima versiune a X Consortium . [1]
X11R3 Octombrie 1988 XDM
X11R4 22 decembrie 1989 XDMCP și twm au fost incluse ca manageri de ferestre standard; îmbunătățiri ale aplicației; fonturi noi.
X11R5 5 septembrie 1991 PEX , Xcms ( gestionarea culorii ), server de fonturi, suport X386
X11R6 16 mai 1994 ICCCM v2.0; Inter-Client Exchange; Managementul sesiunii X; X Extensie de sincronizare ; X Extensie imagine ; Extensie XTEST ; Intrare X; X Cereri mari; XC-MISC; XFree86 modificări.
X11R6.1 14 martie 1996 Extensie tampon dublu; extensie suport tastatură; X Extensie înregistrare .
X11R6.2
X11R6.3 (Broadway)
23 decembrie 1996 Funcționalitate web. Ultima versiune a X Consortium .
X11R6.4 31 martie 1998 Suport pentru Xinerama . [2]
X11R6.5 Versiune internă X.org, fără publicare pentru utilizatorii finali.
X11R6.5.1 20 august 2000
X11R6.6 4 aprilie 2001 Unele remedieri de erori, modificări XFree86.
X11R6.7.0 6 aprilie 2004 Prima versiune a X.Org Foundation , bazată pe XFree86 4.4rc2. Eliminate XIE, PEX și libXML2 . [3]
X11R6.8.0 8 septembrie 2004 Transluciditatea ferestrelor; XDamage; Distribuit Multihead X; XFixes ; Compozit; XEvIE.
X11R6.8.1 17 septembrie 2004 Remediați defectul de securitate din biblioteca XPM .
X11R6.8.2 10 februarie 2005 S-au remediat erorile, driverele actualizate.
X11R6.9
X11R7.0
21 decembrie 2005 Suport pentru accelerarea EXA ; majoritatea codului sursă a fost divizat pentru versiunea modulară 7.0.
X11R7.1 22 mai 2006 AIGLX , modificări invazive neincluse în 6.9 / 7.0. [4]
X11R7.2 15 februarie 2007 Eliminarea lățimii de bandă scăzute X (LBX) și a vechiului driver de tastatură, X-ACE, XCB , îmbunătățiri de configurare automată , curățare cod. [5]
X11R7.3 6 septembrie 2007 XServer 1.4 , suport pentru hotplug de dispozitive de intrare, RandR 1.2, suport pentru UnixWare . [6]
X11R7.4 23 septembrie 2008 XServer 1.5.1 , pornire și oprire mai rapide . [7]
X11R7.5 26 octombrie 2009 XServer 1.7.1 , X Input 2.0 și Multi-Pointer X, extensie de tastatură X (curățare cod XKB, gestionare avansată a aspectului tastaturii), arbitraj VGA, îmbunătățiri ale accelerației EXA , XDMX (Distribuit Multihead X, un proxy al serverului X pentru multiple X back servere -end). [7]
X11R7.6 20 decembrie 2010 X Server 1.9, este necesar XCB
X11R7.7 6 iunie 2012 Server Xorg 1.12; Extensie de sincronizare 3.1: adaugă suportul obiectului Fence; Xi 2.2 acceptă multi-touch; XFixes 5.0: Îmbunătățirea selecției ( Legea Fitts )
X11R7.8 TBD Extensia RandR 1.4, X Resource extension 1.2, XInput extension 2.3

Notă

Elemente conexe

Alte proiecte

linkuri externe

Controlul autorității LCCN ( EN ) sh88005219