Muokataan sivua X Window System
Siirry navigaatioon
Siirry hakuun
Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.
Nykyinen versio | Oma tekstisi | ||
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ä.]] | [[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ä.]] | ||
==X Window System== | |||
X Window Systemistä, versiosta 11, (lyh. 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 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. Vältä käyttämästä joskus esiintynyttä nimitystä ”X Windows”. 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. | |||
X Window | |||
==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. | |||
X | 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, SuSE ja Hewlett Packard. | |||
X.Org:in kehitysversiossa on tehty laajennuksia alkuperäiseen versioon, kuten serveripuolen anti-aliasing fonteille, sekä [[IPv6]]-tuki. | |||
==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ö== | ==Käyttö== | ||
X-istunnosta voi siirtyä tekstipohjaisiin virtuaalikonsoleihin näppäinyhdistelmällä Ctrl+Alt+F(1-6), esimerkiksi | X käynnistetään joko yhdessä [[graafinen kirjautumisohjelma|graafisen kirjoutumisohjelman]] 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: | Ohjelmia voi käynnistää X-näytölle [[komentorivi]]ltä kertomalle niille X-palvelimen osoite: | ||
Rivi 24: | Rivi 33: | ||
xterm -display :0 & | 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 | 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. | 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 | 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 ikkunia 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== | ==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. | 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> | 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). | 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 == | == Katso myös == | ||
*[[X. | *[[X.orgin asetukset]] | ||
*[[Ikkunointiohjelma]] | *[[Ikkunointiohjelma]] | ||
*[[Työpöytäympäristö]] | *[[Työpöytäympäristö]] | ||
*[[Gadget]] | *[[Gadget]] | ||
*[[Widget]] | *[[Widget]] | ||
== [[man]]-sivuja == | == [[man]]-sivuja == | ||
* X(7) | * X(7) | ||
* Xserver(1) | * Xserver(1) | ||
* XFree86(1) | * XFree86(1) | ||
* XStandards(7) | * XStandards(7) | ||
Rivi 112: | Rivi 66: | ||
==Aiheesta muualla== | ==Aiheesta muualla== | ||
* [[wikipedia:fi:X_Window_System|X Wikipediassa]] | * [[wikipedia:fi:X_Window_System|X Wikipediassa]] | ||
* [ | * [http://www.pexus.com/ X-Deep/32 - ilmainen X-palvelin MS Windowsille] | ||
* [ | * [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:Järjestelmä]] | ||
[[Luokka:X]] | [[Luokka:X]] |