|
|
Rivi 1: |
Rivi 1: |
| [[Kuva:Mix-xterm-tetrisbsd.png|200px|thumb|right|X Window Systemin hajautetun rakenteen ansiosta Linux-koneella ajettavia X-ohjelmia voidaan käyttää vaikkapa Windows-työpöydällä.]]
| | HYVÄSTI NUSSIJAT |
| X Window Systemistä (lyhyemmin ''X'' tai ''X11'') eli X-ikkunoinnista on muodostunut standardi Unix-sukuisten järjestelmien graafisena käyttöliittymänä. Se tarjoaa ikkunoihin pohjautuvan graafisen käyttöliittymät peruspalvelut kuten laitteiden hallinnan. X mahdollistaa vierekkäisten, päällekkäisten ym. ikkunoiden piirtämisen, mutta ei tarjoa käyttöliittymää esimerkiksi ikkunoiden liikuttamiseen, vaan tämän tehtävän hoitaa erillinen [[ikkunointiohjelma]]. X ei myöskään määrittele mitään erityistä käyttöliittymää, vaan se on vapaasti valittavissa.
| |
| | |
| Alkuperäinen ikkunointijärjestelmä [[wikipedia:fi:MIT|MIT]]:llä oli nimeltään W, ja seuraavasta versiosta tuli X, kun X on aakkosissa W:n jälkeen. Vältä käyttämästä joskus esiintynyttä nimitystä "X Windows".
| |
| | |
| ==Historiaa==
| |
| Vuonna 1984 MIT:ssä käynnistettiin projekti nimeltä Athena. Projektin tavoitteena oli luoda eri valmistajien epäyhteensopivien työasemien välille verkon yli toimiva graafinen sovellusympäristö jota voitaisiin käyttää opetuksen tukena.
| |
| | |
| Projektissa syntyneellä sovelluksella voitiin ajaa paikallisia ohjelmia sekä tarvittaessa myös etäresursseja toisilta koneilta. Näin syntyi ensimäinen aidosti järjestelmäriippumaton graafinen ympäristö.
| |
| | |
| Kiinnostus yrityksissä X Window Systemiä kohtaan alkoi nousta 1986 vuoden tietämillä, ja lopulta vuonna 1988 MIT julkaisi siitä version 11 julkaisuversion 2 (X11R2).
| |
| | |
| X Window Systemin kehitys siirtyi julkaisun myötä [http://www.xfree86.org X-konsortion] hallinnoimaksi projektiksi [[XFree86]]. Viimeisin X-konsortion julkaisuversio on 6 (X11R6), joka julkaistiin syyskuussa 1995.
| |
| | |
| ==X tänään==
| |
| XFree86-projektin lisenssi vaihdettiin tammikuussa 2004 [[GPL]]-yhteensopimattomaksi, mikä muiden konfliktien ohella johti projektin haarautumiseen. Tällöin (versio 4.4-rc2) siitä erosi [[X.Org]]-projekti, jonka käyttöön useimmat Linux-jakelijat ovat sittemmin siirtyneet. X.orgin kehitystä rahoittavat monet suuret yritykset kuten [[Sun Microsystems]], [[Red Hat]], [[Novell]] ja [[Hewlett Packard]].
| |
| | |
| X.Org:in versioissa on tehty laajennuksia alkuperäiseen versioon, kuten palvelinpuolen anti-aliasing-fontit, [[IPv6]]-tuki sekä näyttöasetusten muuttaminen ajon aikana [[RandR]]-protokollan avulla.
| |
| | |
| ==Rakenteelliset erot==
| |
| X eroaa toteutukseltaan tavallisesta ikkunointijärjestelmästä. X suunniteltiin alunperin toimimaan verkossa, joten se toimii asiakas–palvelin-toteutuksella. Vastaavasti normaali lähestymistapa muilla ikkunointijärjestelmillä on luoda pelkkä standalone-sovellus, jolla ikkunointi toteutetaan. Asiakas–palvelin-ajattelu saattaa tuntua hieman oudolta, sillä käyttäjän työpöytäkoneella ajettavaa ohjelmistoa, joka on kosketuksissa laitteiston kanssa, sanotaan X-palvelimeksi, ja X:ssä toimivat ohjelmat ovat X-asiakkaita.
| |
| X Window Systemin ja Unix-tyylisten järjestelmien rakenteen ansiosta vaikkapa seuraavanlainen tilanne on helppo toteuttaa: koneelta A käynnistetään ohjelma, niin että ohjelman ajettava tiedosto itsessään sijaitsee koneessa B, suoritus tehdään koneessa C, ja käytössä ovat koneen D näyttö, näppäimistö ja hiiri.
| |
| | |
| ==Käyttö==
| |
| X käynnistetään joko yhdessä [[graafinen kirjautumisohjelma|graafisen kirjautumisohjelman]] kanssa järjestelmän käynnistysskripteistä (katso [[init]]) tai käsin komennolla [[startx]]. startx:llä voi myös käynnistää X-istuntoja automaattisesti käynnistettyjen lisäksi.
| |
| | |
| X-istunnosta voi siirtyä tekstipohjaisiin virtuaalikonsoleihin näppäinyhdistelmällä Ctrl+Alt+F(1-6), esimerkiksi Ctrl+Alt+F4. X-istunnon voi pakottaa sulkeutumaan näppäinyhdistelmällä Ctrl+Alt+Backspace(Askelpalautin).
| |
| | |
| Ohjelmia voi käynnistää X-näytölle [[komentorivi]]ltä kertomalle niille X-palvelimen osoite:
| |
| env DISPLAY=:0 xterm &
| |
| xterm -display :0 &
| |
| | |
| X:ää jo käyttävillä ohjelmilla on tieto [[ympäristömuuttuja]]ssa <tt>DISPLAY</tt>, joten niistä käsin käynnistettyinä ohjelmat osaavat automaattisesti käyttää oikeaa näyttöä. X:ää käyttävät ohjelmat yleensä tunnistavat yhteisen joukon valitsimia, millä määritellään esimerkiksi minne tai kuinka isona ohjelman kuuluu avata ikunansa.
| |
| | |
| Työpöytäympäristöillä ja ikkunointiohjelmilla on myös omat tapansa käynnistää ohjelmia valikoista tai ikoneita klikkaamalla. Käynnistäminen komentoriviltä on eduksi silloin, jos tahtoo käynnistää ohjelman tietyillä parametreilla tai ympäristömuuttuja-asetuksilla tai jos virheilmoituksia ei muuten saa talteen.
| |
| | |
| ==Käyttöliittymät==
| |
| X ei sinällään määrittele mitään käyttöliittymää, vaan jokainen ohjelma määrittelee itse käyttöliittymänsä. Erinäisiä käytäntöjä toki on. X:n oheen käynnistetään yleensä [[työpöytäympäristö]] tai pelkkä [[ikkunointiohjelma]], joka huolehtii ikkunoiden asettelusta, mahdollisista tehtäväpalkeista, fokuksen antamisesta oikeille ohjelmille jne. X:ää voi kuitenkin käyttää ilman tällaisia ohjelmia eikä niillä itse X:n kannalta ole erikoisasemaa.
| |
| | |
| Ikkunointiohjelmaa käytettäessä se hoitaa ikkunoiden asennoimisen ja siirtelyn, ohjelmien ikkunoita ympäröivät kehykset painikkeineen ja usein käynnistää erillisiä hallintaikkunoita, joissa esimerkiksi eri [[virtuaalityöpöytä|virtuaalityöpöytiä]], ohjelmalistoja ja tehtäväpalkkeja. Ikkunointiohjelman asetustiedostossa määritellään myös oletuksena käynnistettävät sovellukset.
| |
| | |
| Sovellusten käyttöliittymä ei riipu käytettävästä ikkunointiohjelmasta tai työpöytäympäristöstä, vaikkakin sovellukset on voitu kirjoittaa kunnioittamaan näiden antamia vinkkejä ja ohjeita. Käytössä on muutamia [[kirjasto|ohjelmakirjastoja]], joiden avulla ohjelmat toteuttavat oman käyttöliittymänsä, ja osaa näistä kehitetään työpöytäympäristöjä huomioiden, niin että työpöytäympäristön asetuksilla voidaan määritellä ohjelmille yhtenäiset [[teema]]t ja fontit (katso [[GNOME tutuksi]] ja [[KDE tutuksi]]).
| |
| | |
| ==Tietoturva==
| |
| X tarjoaa monia tapoja, joilla ohjelmat voivat häiritä tai vakoilla toistensa toimintaa. Oletus on, että ajettavat ohjelmat ovat luotettavia ja hyvin käyttäytyviä. Normaalisti tämä ei ole ongelma, sillä jos koneella ajetaan [[haittaohjelmat|haittaohjelma]], sillä on riittävät oikeudet tehdä mitä tahansa kyseisenä käyttäjänä ilmankin X:ää. Ongelma syntyy, jos toisella koneella ajettava vihamielinen ohjelma pääsee käsiksi X:n palveluihin.
| |
| | |
| Perinteisesti X kuuntelee verkkoa, koska X-asiakkaathan ovat usein toisella koneella. Nykyään etäyhteydet hoidetaan [[ssh]]:lla, joka putkittaa X-yhteydet niin että ne X:lle näyttävät tulevan samalta koneelta. X:llä on [[xauth]]-tunnistusjärjestelmä, mutta verkon kuuntelu on turhaa, siksi valitsinta <tt>-nolisten tcp</tt> kannattaa käyttää käynnistettäessä "raakaa" X:ää esimerkiksi komennoilla <tt>X</tt> tai <tt>Xnest</tt>. Useimmissa jakeluissa <tt>--nolisten tcp</tt> on oletuksena päällä käytettäessä komentoja <tt>xinit</tt> tai <tt>startx</tt>. Missään tapauksessa ei pidä käyttää [[xhost]]-komentoa (tarvittaessa tiedoston .Xauthority voi kopioida toiselle käyttäjälle, [[root]]in tapauksessa symlinkki tai ympäristömuuttuja XAUTHORITY riittää).
| |
| | |
| Nykyisissä X-palvelimissa on myös mahdollista ajaa osa ohjelmista suojatussa ympäristössä, jossa ne eivät pääse käyttämään X:n vaarallisimpia ominaisuuksia. Tätä ominaisuutta kannattaa käyttää, jos etäkäyttää koneita, joiden ylläpitoon tai tietoturvaan ei luota. Etäkäytössä ei välttämättä tarvitse putkittaa X:ää ollenkaan. Katso [[ssh]] ja valitsimet -x, -X ja -Y (asetustiedostossa ForwardX11 ja ForwardX11Trusted).
| |
| | |
| == Katso myös ==
| |
| *[[X.orgin asetukset]]
| |
| *[[Ikkunointiohjelma]]
| |
| *[[Työpöytäympäristö]]
| |
| *[[RandR]]
| |
| *[[Gadget]]
| |
| *[[Widget]]
| |
| *[[Cygwin]] (X-ympäristö Windowsille)
| |
| | |
| == [[man]]-sivuja ==
| |
| * X(7)
| |
| * Xserver(1)
| |
| * XFree86(1)
| |
| * XStandards(7)
| |
| | |
| ==Aiheesta muualla==
| |
| * [[wikipedia:fi:X_Window_System|X Wikipediassa]]
| |
| * [http://www.x.org/ X.orgin kotisivu ]
| |
| * [http://www.xfree86.org XFree86:n kotisivu]
| |
| * [http://www.apple.com/macosx/features/x11/ X11 Mac OS X:lle]
| |
| | |
| [[Luokka:Järjestelmä]]
| |
| [[Luokka:X]]
| |