X Vindussystem

X Window System
programvare
SjangerVindussystem
UtviklerX.Org Foundation
Dato for første versjon1982
Siste versjonX11R7.7 (6. juni 2012)
OperativsystemMultiplattform
TillatelseMIT
( gratis lisens )
Nettstedx.org

X Window System (kjent på sjargong som X Window , X11 eller ganske enkelt som X ), i informatikk , er en veldig populær grafisk manager , de facto - standarden for mange Unix-lignende systemer ( inkludert Linux og FreeBSD ), publisert under en programvare lisensfri , siden 2004 har utviklingen blitt håndtert av X.Org Foundation .

Det stammer fra et grafisk grensesnitt kalt W ( W Window System ) utviklet av Brian Red og Paul Ascente ved Stanford University1980-tallet ; ble opprettet av MIT i 1984 . Den siste versjonen av protokollen, X11, ble fullført i september 1987 . X.Org Foundation implementerer X versjon 11 - protokollen i XOrg . Versjon 7.7 har vært tilgjengelig siden juni 2012 .

Historie

Opprettelsen

I 1984 endret Bob Scheifler i samarbeid med Jim Gettys den synkrone protokollen W til en asynkron kalt X (versjon 1). Scheifler og de andre (få) programmererne jobbet veldig raskt og med engasjement på prosjektet, faktisk versjon 6 ble publisert allerede i 1985 . X ble portert til forskjellige plattformer, det begynte å bli interessant og mange utenforstående spurte etter det. X11 dateres tilbake til 1987 da store selskaper inkludert Sun Microsystems , IBM og HP trengte en standard for grafiske grensesnitt, og når de ble med i X.org-konsortiet, bestemte de seg for spesifikasjonene for X11.

Utviklingen av XFree86

Til tross for tiden som har gått siden den gang, har hjertet av X11 praktisk talt forblitt uendret, den siste utgivelsen med modifikasjon av X-basekoden var X11R4, men dens eneste formål var å øke portabiliteten på Sun-maskiner. av betydelige endringer falt sammen med en svekkelse av X.org-konsortiet, som ikke lenger var i stand til å administrere prosjektet ordentlig, så med X11R6.6 kom XFree86 (hvis navn er et ordspill: X free eight six -> X three eight six , X386) .

XFree86 lovet å radikalt forbedre X og ble raskt et prosjekt med en stor tilhengerskare. De håpede resultatene kom heller ikke med XFree, og uten interesse og finansiering fra de gamle selskapene måtte X plutselig bare stole på frivillige.

Mer seriøst, X-bibliotekene (xlibs) var totalt utilstrekkelige for avansert grafisk bruk, for eksempel et skrivebordsmiljø, og var et mareritt for programmerere som prøvde å få tak i det; fra dette behovet oppsto "verktøysettene", dvs. biblioteker som, basert på xlib, ikke bare implementerte manglende funksjoner ved å tilby tilleggsverktøy, men også forenkle programmeringen av grafiske applikasjoner for X. Tidenes mest kjente verktøysett er sannsynligvis Motif . Også kjent er Qt -bibliotekene som KDE er avhengig av eller GTK (født fra Gimp ) deretter utvidet i GTK + .

Mens disse verktøysettene favoriserte utviklingen av grafiske applikasjoner, så vi med fremveksten av KDE og GNOME hvor begrenset X var: den var treg og tungvint. Medlemmene av XFree86-kjerneteamet designet versjon 4.0, mer modulær, slankere, med nye utvidelser, og så i mars 2000 hadde XFree 4.0 noen funksjoner som skrivebordsbrukere hadde etterspurt så mye, for eksempel skriftstøtte med kantutjevnelse og støtte for 3D-grafikk .

Men det var fortsatt ikke nok: nyhetene var få og utviklerne selv var misfornøyde med utviklingsmetoden da alvorlige feil forble åpne i flere måneder og med 4.3-utgivelsen forlot en av de mest innovative utviklerne som tilhørte kjerneteamet (Keith Packard) XFree.

Bruk i GNU / Linux-distribusjoner

Imidlertid gjenopptok selskaper måten å bringe Linux til stasjonære datamaskiner i XFree, og et nytt konsortium gjenopplivet X.Org Foundation. Nye utviklere deltok i prosjektet, både på den offisielle grenen og på eksperimentelle deler av den nye stiftelsen.

Men med 4.4rc3-utgivelsen ble XFree-lisensen endret, noe som gjorde den inkompatibel med GPL , den kunne ikke lenger inkluderes i Linux- distribusjoner og et nytt prosjekt måtte startes. De fleste utviklere, som forlot XFree til fordel for X.org, ga ut X11 6.7 (Xorg 6.7) 6. april 2004 . Basert på XFree4.4rc2, hadde den feilrettinger og nye funksjoner, slik som ny IPv6 -håndtering , reviderte fontadministrasjonsmoduler, en ny versjon av Xrender og Xcursor.

I september 2004 ble Xorg 6.8 utgitt, som ga interessante nye funksjoner som gjennomsiktige vinduer, animasjoner, vindusdekorasjoner (for eksempel skygger) og støtte for tilgjengelige applikasjoner. Noen dager senere ble versjon 6.8.1 utgitt som fikset en sikkerhetsfeil.

Den 21. desember 2005, i full overensstemmelse med det offisielt annonserte veikartet, ble Xorg X11R7.0 utgitt, den første store utgivelsen av X Window System etter 10 år med stagnasjon og ujevn utvikling. Parallelt ble X11R6.9 utgitt, som inneholdt samme kode som 7.0, men i en enkelt blokk med omtrent 16 millioner kodelinjer. Nettopp dette er en av de store nyvinningene sammenlignet med tidligere: Xorg 7.0 har brakt modularisering av grafikkserverkoden, og legger grunnlaget for raskere utvikling. Blant de mange innovative notatene, i tillegg til oppdaterte drivere for videomaskinvare, finner vi EXA , den nye akselerasjonsarkitekturen.

Generelle kjennetegn

Gir miljøet og grunnleggende komponenter for grafiske grensesnitt - tegning, flytting av vinduer på skjermen og samhandling med inndataenheter som mus og tastatur . X administrerer ikke det grafiske brukergrensesnittet, det vil si den grafiske stilen til applikasjonene som administreres av skrivebordsmiljøet valgt av brukeren og som er i bruk på datamaskinen .

En annen svært viktig funksjon er nettverksgjennomsiktighet: maskinen der programmene kjører ( klient ) trenger ikke nødvendigvis å være den lokale maskinen ( skjermserver ). Begrepene server og klient blir ofte forvekslet: for X er serveren brukerens lokale skjerm, ikke en ekstern maskin. Dette lar deg også se applikasjoner som kjører på forskjellige verter på samme skjerm , eller applikasjoner som kjører på en vert hvis grafiske grensesnitt ender opp på forskjellige skjermer.

X brukes nå også sekundært av operativsystemer som ikke støtter det (f.eks . macOS , som bruker Quartz ), for å tillate driften av programvaren som er designet for dette grafikksystemet, slik som kontorpakken OpenOffice.org og GIMP .

Klient-/servermodellen

Den bruker en klient/server-modell : med andre ord, X-serveren kommuniserer med andre programmer (klienter). Serveren aksepterer forespørsler om grafisk utdata (Windows) og brukerinndata (via tastatur, mus eller berøringsskjerm ). X-serveren kan være:

Klient- /servernavnet forvirrer ofte nye brukere av X fordi termene virker omvendt: "serveren" som brukes av applikasjonsprogrammene (klientene) kjører på brukerens terminal. X gir en visualiseringstjeneste til programmene, i dette perspektivet fungerer det som en server, mens applikasjonsprogrammet (som også kan være eksternt via ekstern tilkobling ) bruker tjenestene, så det fungerer som en klient.

Kommunikasjonsprotokollen mellom server og klient fungerer transparent med hensyn til nettverket: begge kan ligge på samme maskin eller på andre maskiner, selv med forskjellige arkitekturer og operativsystemer ; serveren og klienten kan også kommunisere sikkert over nettverket ved hjelp av en kryptert tunnel ( SSH brukes ofte ).

Brukergrensesnittet

X-systemet er spesialdesignet for ikke å gi noen forhåndsbestemt støtte for brukergrensesnittelementer (som knapper, menyer, tittellinjer). Denne infrastrukturen blir deretter opprettet og levert av skrivebordsmiljøene. Av denne grunn har X-grensesnitt variert betraktelig over tid og er forskjellige fra en desktop manager til en annen.

Kontrollen av skjermen og plasseringen av vinduene er oppgaven til en bestemt programvareapplikasjon, kalt vindusbehandleren , uavhengig av X. Eksempler på denne programvaren er KWin for KDE eller Metacity for GNOME . Denne innstillingen tillot for eksempel å bruke en vindusbehandler med avanserte 3D-effekter som bare gjorde mindre endringer på X-serveren.

Den er ansvarlig for å gi grensesnittet til tastaturet, musen og andre inndataenheter. Av denne grunn er noen hurtigtaster knyttet til X-serveren. Control-Alt-Backspace avslutter X-serveren som kjører for øyeblikket mens Control-Alt sammen med en funksjonstast endrer den virtuelle konsollen som brukes.

Versjonshistorikk

Versjon Publiseringsdato Versjonskommentarer
X1 juni 1984 Første utgivelse hvor navnet X brukes ; dyptgripende endringer som skiller den fra W.
X6 januar 1985 Første versjon lisensiert til en håndfull selskaper.
X9 september 1985 Fargestøtte og første versjon under MIT-lisens .
X10 november 1985 Støtte for IBM RT / PC, AT (under DOS) og andre
X10R2 januar 1986
X10R3 februar 1986 Første utgivelse utenfor MIT. Støtte for tidlige standarder for grafikkvinduer.
X10R4 desember 1986 Siste versjon av X10.
X11 15. september 1987 Første utgivelse av versjonen som implementerer den nyeste protokollen.
X11R2 februar 1988 Første versjon av X Consortium . [1]
X11R3 oktober 1988 XDM
X11R4 22. desember 1989 XDMCP og twm er inkludert som standard vindusbehandlere; applikasjonsforbedringer; nye fonter.
X11R5 5. september 1991 PEX , Xcms ( fargebehandling ), fontserver, X386-støtte
X11R6 16. mai 1994 ICCCM v2.0; Utveksling mellom klienter; X øktstyring; X Synkronisering utvidelse ; X Bildeutvidelse ; XTEST utvidelse ; X-inngang; X store forespørsler; XC-MISC; XFree86 endringer.
X11R6.1 14. mars 1996 Dobbel bufferforlengelse; tastaturstøtte utvidelse; X Record utvidelse .
X11R6.2
X11R6.3 (Broadway)
23. desember 1996 Web funksjonalitet. Siste versjon av X Consortium .
X11R6.4 31. mars 1998 Støtte for Xinerama . [2]
X11R6.5 Intern X.org-versjon, ingen publisering til sluttbrukere.
X11R6.5.1 20. august 2000
X11R6.6 4. april 2001 Noen feilrettinger, endringer i XFree86.
X11R6.7.0 6. april 2004 Første versjon av X.Org Foundation , basert på XFree86 4.4rc2. Fjernet XIE, PEX og libXML2 . [3]
X11R6.8.0 8. september 2004 Gjennomsiktighet av vinduer; XDamage; Distribuert Multihead X; XFixes ; Sammensatte; XEvIE.
X11R6.8.1 17. september 2004 Rett opp i sikkerhetsfeilen i XPM- biblioteket .
X11R6.8.2 10. februar 2005 Rettet feil, oppdaterte drivere.
X11R6.9
X11R7.0
21. desember 2005 Støtte for EXA - akselerasjon ; det meste av kildekoden ble brutt opp for den modulære versjonen 7.0.
X11R7.1 22. mai 2006 AIGLX , invasive modifikasjoner som ikke er inkludert i 6.9 / 7.0. [4]
X11R7.2 15. februar 2007 Eliminering av lav båndbredde X (LBX) og gammel tastaturdriver, X-ACE, XCB , forbedringer av automatisk konfigurasjon, kodeopprydding. [5]
X11R7.3 6. september 2007 XServer 1.4 , Støtte for hotplugg av inngangsenheter, RandR 1.2, støtte for UnixWare . [6]
X11R7.4 23. september 2008 XServer 1.5.1 , raskere oppstart og avslutning. [7]
X11R7.5 26. oktober 2009 XServer 1.7.1 , X Input 2.0 og Multi-Pointer X, X-tastaturutvidelse (XKB-kodeopprydding , Advanced Keyboard Layout Management), VGA Arbitration, EXA -akselerasjonsforbedringer , XDMX (Distributed Multihead X, en proxy for X-server for flere X tilbake -sluttservere). [7]
X11R7.6 20. desember 2010 X Server 1.9, XCB kreves
X11R7.7 6. juni 2012 Xorg server 1.12; Synkroniseringsutvidelse 3.1: legger til støtte for gjerdeobjekter; Xi 2.2 støtter multi-touch; XFixes 5.0: Improve Selection ( Fitts Law )
X11R7.8 TBD RandR-utvidelse 1.4, X Resource-utvidelse 1.2, XInput-utvidelse 2.3

Merknader

  1. ^ X Window System : Historie og arkitektur
  2. ^ The Open Group kunngjør Internet-Ready X Window System X11R6.4 Arkivert 23. november 2012 på Internet Archive .
  3. ^ X.Org Foundation slipper X Window System X11R6.7
  4. ^ Foreslåtte endringer for X11R7.1
  5. ^ Utgivelser / 7.2 _
  6. ^ Utgivelser / 7.3 _
  7. ^ a b Utgivelser / 7.4 _

Relaterte elementer

Andre prosjekter

Eksterne lenker