X Window System tuntud kui: X11, X, X-Windows akendussüsteem/akendesüsteem rastergraafikat toetavatele ekraanidele UNIX-maailmas väga levinud mitmesugused realisatsioonid ka Windowsile erinevad realisatsioonid erinevatel platvormidel üsna hästi ühilduvad 1
X Window System klient-server protokoll riistvara spetsiifika ideaalis vaid serveris võimalik klient-server suhtlus üle võrgu võimalik käivitada ühes masinas mitu X serverit (loomulikult ka mitu X klienti) 2
X Window System: ajalugu graafilisi süsteeme enne X sündi: 1973: Xerox Alto 1981: Xerox Star 1982: Andrew Project (Carnegie Mellon University) 1983: Apple Lisa 1984: Apple Macintosh 1984: Blit 3
X Window System: ajalugu enne 1984: eelkäija W (Stanford University) 1984 juuni: esimene X (MIT, DEC, IBM)... kiire areng... 1985 jaanuar: X versioon 5 1985 september: X versioon 9 kasutati mõndadel DEC ja IBM süsteemidel 1986 jaanuar: X10R3 - esimene laiapinnaline X 4
X Window System: ajalugu 1986 sai selgeks, et on vaja luua korralikult ümberdisainitud X versioon 1986 mai algas DEC WSL avatud projekt X11 (protokolli) loomiseks - üks esimesi väga suure haardega vaba tarkvara projekte 1987: X11R1 1988: loodi The X Consortium mittetulunduslik tootjate ühendus loodud juhtima X arendust X11R2 (1988) - X11R6.3 (1996) 5
X Window System: ajalugu 1997: juhtimine üle The Open Group 'ile probleemid litsentsimisega X11R6.4, X11R6.5 1999: The Open Group loob X.org 6
X Window System: ajalugu 2004: X.org Foundation suur muutus: juhtivaks jõuks arendajad, liikmeks võib saada igaüks X11R6.7 - baseerus XFree86 4.4RC'l nüüdsest lõppkasutajale kasutatavad tooted (varasemad X11 olid ainult aluseks tootjatele) 7
X Window System DECwindows (DEC) OpenWindows (Sun) XSun XFree86 X.Org... 8
X Window System: server põhialused: on aknad (alad ekraanil), millesse saab joonistada, mida saab liigutada on erinevad sisendseadmed: klaviatuur, hiir, millelt tekitatud sündmuseid server töötleb ja edastab X server ei ole: lahutamatu osa operatsioonisüsteemist kasutajaliides 9
X Window System: server X serveri ülesanded: sisendi käsitlemine sisend antakse edasi klientidele sündmuste (event) kujul aknateenused kliendid saavad aknaid luua ja hävitada, aknaid saab luua teiste akende sisse kliendid saavad akna kohta päringuid esitada tekstiteenused kliendid saavad tellida määratud šriftiga määratud asukohta teksti kirjutamist kliendid saavad esitada päringuid šriftide kohta 10
X Window System: server X serveri ülesanded: graafika kliendid saavad tellida graafikaelementide joonistamist, rasteroperatsioone ressursihaldus serveri ressursihaldur hoiab ressursside kogu: šriftid, värvid, rastrerpildid: neid saab kasutada rakendustele ühise ilme loomiseks jms. 11
X Window System: kliendid klient on rakendus, mis kasutab oma väljundi näitamiseks X serverit klient saadab serverile päringuid klient saab serverilt sündmuseid eriliseks kliendiks on aknahaldur loob klientidele ühtse välimuse ja käitumise vahendab klientidele sündmuseid klientide vahelise suhtluse protokoll: ICCCM - Inter-Client Communication Conventions Manual 12
X: klient-server suhtlus Nelja tüüpi teated: päring (kliendilt serverile) vastus (serverilt kliendile) kõigile päringutele ei vastata sündmus (serverilt kliendile) veateade (serverilt kliendile) 13
X: praktiline kasutamine peab eksisteerima töötav X server enamasti on selleks vastav haldur, mis hoolitseb kasutaja sisselogimise ja X serveri käivitamise eest (xdm, gdm, kdm) käivitamine startx abil keskkonnamuutuja DISPLAY peab osutama soovitud serverile lihtsamatel juhtudel juba paigas üldkuju: host.ee:serverinumber.ekraaninumber 14
X: praktiline kasutamine keskkonnamuutuja DISPLAY vaatamine, sättimine > echo $DISPLAY localhost:0.0 > setenv DISPLAY hostname.ee:0.0 server peab meid usaldama tuleb käivitada kliente esimesena ehk aknahaldur, tavaliselt on see operatsioon automaatne 15
X: aknahaldur (window manager) aknahaldur: eriline klient, mis määrab teiste akende välimuse ja käitumise näide X modulaarse olemuse eelistest twm, dtwm, ctwm, fvwm, metacity... aknahaldureid on massiliselt võimalik kasutada kliente ka ilma aknahaldurita 16
X: aknad aknad on hierarhilises struktuuris juuraken iseseisev aken parameetreid (osad seotud X'ga, osad aknahalduriga) asukoht ja suurus (geometry) ontop sticky värviruum 17
X: toolkit'id, keskkonnad motif Xaw tk Qt GTK+ KDE Gnome Xfce CDE 18
X: autentimine xhost xhost +minuhost.ee xhost -minuhost.ee pole turvaline!! xauth MIT-magic-cookie genereeritakse igal X serveri sessioonil uus hestia.at.mt.ut.ee:0 MIT-MAGIC-COOKIE-1 5131464b636d642f6b5275487a447538 19
X: autentimine sessioonis, kus on juba võti olemas: > xauth list sessioonis, kuhu tahame võtme lisada: > xauth add vastav_võti 20
X: ssh tunnelid X protokoll on krütpeerimata pole üle (lai)võrgu turvaline ssh lubab teha tunneleid automaatne X tunnel koos keskkonna sättimisega: > ssh -X kasut@frogger.at.mt.ut.ee frogger> xclock & 21
X: font server erinevaid kirju/šrifte/fonte palju vaja erinevaid lisateenuseid eritüübiliste šriftide tugi (Type1, TrueType) anti-alias tugi eraldi haldusprotsess, suhtlus X serveriga fontserveri port: 7100 fontpath - võib sisaldada nii lokaalseid katalooge kui fontservereid xfs 22
X: puudujääke kihilise arhitektuuri jõudlusprobleemid pole arvestatud heliga rakenduste omavaheline suhtlus siiski halvasti reguleeritud riistvaratugi MS Windowsist maas/kehvem sessioone ei saa lahti ühendada / üle võtta (nagu MS RDP) Enamusega neist probleemidest tegeletakse (või on juba mingi lahendus olemas) 23