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 System, X11 sau pur și simplu X), în informatică , este un manager de afișare răspândit, standard de facto pentru multe sisteme de tip Unix ( Linux și FreeBSD incluse), publicat sub licență software gratuită , începând cu anul 2004 dezvoltarea este realizată de Fundația X.Org .

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

Istorie

Creatia

În 1984, Bob Scheifler, cu colaborarea lui Jim Gettys, a modificat protocolul sincron W pe un asincron numit X (versiunea 1). Scheifler și alți (puțini) programatori au lucrat foarte repede și cu angajament față de proiect, de fapt versiunea 6 a fost publicată deja în 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 de utilizator și, odată adunate în consorțiul X.org, au decis specificațiile 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 a mai putut 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 că va îmbunătăți 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.

Și mai grav, bibliotecile X (xlibs) erau total inadecvate pentru utilizări grafice avansate, cum ar putea fi un mediu desktop și au fost un coșmar pentru programatorii care încercau să o remedieze; la această nevoie s-au născut „trusa de instrumente”, adică bibliotecile, bazându-se pe xlib, nu numai că implementează funcții lipsă avano oferind instrumente suplimentare, ci simplifică programarea aplicațiilor grafice pentru X. Cel mai faimos este întotdeauna trusa de instrumente Motif . Cunoscute sunt, de asemenea, bibliotecile Qt spre care se bazează KDE sau GTK (născut din Gimp ), apoi extinse în GTK + .

Deși aceste seturi de instrumente au favorizat dezvoltarea aplicațiilor grafice, odată cu nașterea KDE și GNOME s-a văzut ceea ce X era limitat: era lent și greu. 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 nu a fost suficient: noutățile au fost puține, iar dezvoltatorii înșiși au fost nemulțumiți de metoda de dezvoltare, deoarece mormântul de erori a rămas deschis de luni de zile și odată cu lansarea 4.3, unul dintre cei mai inovatori dezvoltatori care aparțin echipei de bază (Keith Packard) a părăsit 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 eliberarea licenței 4.4rc3 XFree modificată făcându-se incompatibile cu GPL , nu mai putea fi inclusă în distribuțiile Linux și a trebuit să înceapă un nou proiect. Majoritatea dezvoltatorilor, abandonând XFree în favoarea X.org, au prezentat versiunea 6.7 X11 (Xorg 6.7) pe 6 aprilie 2004 . Bazat pe XFree4.4rc2, au prezentat remedieri de erori și noi caracteristici, cum ar fi noua gestionare a IPv6 , modulul de revizuire pentru gestionarea fonturilor, 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, precum și driverele video actualizate pentru hardware, găsim EXA , noua arhitectură de accelerare.

Caracteristici generale

Oferă mediul și componentele de bază pentru interfețele grafice ale utilizatorului sau designul, deplasarea ferestrelor de pe ecran și interacțiunea cu dispozitivele de intrare, cum ar fi mouse-ul și tastatura . Cu toate acestea, X nu gestionează interfața grafică a utilizatorului, adică stilul grafic al aplicațiilor care sunt gestionate în schimb de „ mediul desktop ales de utilizator și utilizat în computer .

O altă caracteristică foarte importantă este transparența rețelei: mașina în care rulează programul ( clientul ) nu trebuie să fie mașina locală (serverul de afișare). Termenii server și client sunt adesea confundați: pentru serverul X este afișarea locală a utilizatorului, nu o mașină la distanță. Acest lucru vă permite, de asemenea, să afișați pe același ecran aplicații care rulează pe diferite gazde sau care sunt executate pe o gazdă, aplicațiile cu GUI ajung pe afișaje diferite.

X este acum utilizat în mod secundar de către sistemele de operare care nu îl acceptă nativ (de exemplu, MacOS , care folosește nativ Quartz ), pentru a permite funcționarea software-ului conceput 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: protocoale și arhitectură X Window System .
Arhitectura unui client X Window System.

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

  • un sistem de programe care controlează „ ieșirea video pe un computer;
  • o componentă hardware dedicată (așa-numitul terminal X : computere echipate doar cu hardware-ul necesar pentru a rula serverul X, conceput pentru afișarea aplicațiilor care rulează pe servere de aplicații dedicate);
  • o aplicație care afișează date pe o fereastră a unui alt sistem grafic.

Numele / serverul clientului confundă adesea noii utilizatori ai X deoarece termenii apar inversați: terminalul utilizatorului rulează „serverul” utilizat de programele de aplicații (clienți). X oferă un serviciu de afișare a programelor în acest context ca server, în timp ce programul de aplicație (care poate fi, de asemenea, de la distanță prin conexiune la distanță ) utilizează serviciile, acționând astfel ca un client.

Protocolul de comunicație între server și client funcționează într-un mod transparent în ceea ce privește rețeaua: ambele pot locui pe aceeași mașină sau pe alta, chiar și cu arhitecturi și sisteme de operare diferite; serverul și clientul pot comunica, de asemenea, într-un mod sigur prin rețea prin exploatarea unui tunel criptat (de multe ori se folosește SSH ).

Interfața cu utilizatorul

X Window System rulează pe Tom's Window Manager (TWM) la începutul anilor nouăzeci.

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 unui anumit software de aplicație, a spus managerul de ferestre , independent de X. Exemple de astfel de 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 lansare unde folosiți 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 pentru culori și prima lansare 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 pentru 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 Corectarea defectului de securitate în biblioteca XPM .
X11R6.8.2 10 februarie 2005 S-au remediat erorile, driverele actualizate.
X11R6.9
X11R7.0
21 decembrie 2005 Suport pentru accelerare 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 Ștergerea lățimii de bandă scăzute X (LBX) și a vechiului driver de tastatură, X-ACE, XCB , îmbunătățiri pentru configurarea automată , curățarea codului. [5]
X11R7.3 6 septembrie 2007 X-Server 1.4 , suport pentru hotplug de dispozitive de intrare, suport RandR 1.2 pentru UnixWare . [6]
X11R7.4 23 septembrie 2008 XServers 1.5.1 , pornire și oprire mai rapidă. [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, a solicitat 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ățește selecția ( Legea lui 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