Ero sivun ”X Window System” versioiden välillä
LP (keskustelu | muokkaukset) (uudet kappaleet: käyttöliittymä, tietoturva; käytöstä lisää) |
|||
Rivi 3: | Rivi 3: | ||
==X Window System== | ==X Window System== | ||
X Window Systemistä (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 | 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. | ||
==Historiaa== | ==Historiaa== | ||
Rivi 15: | Rivi 15: | ||
==X tänään== | ==X tänään== | ||
XFree86-projektin lisenssi vaihdettiin tammikuussa 2004 [[GPL]]-yhteensopimattomaksi, mikä 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. | 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. | X.Org:in kehitysversiossa on tehty laajennuksia alkuperäiseen versioon, kuten serveripuolen anti-aliasing fonteille, sekä [[IPv6]]-tuki. | ||
==Rakenteelliset erot== | ==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 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. | 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 Ctrl+Alt+F4. X-istunnon voi pakottaa sulkeutumaan näppäinyhdistelmällä Ctrl+Alt+Backspace(Askelpalautin). X-istunnon saat käyntiin tekstipohjaisesta tilasta komennolla | 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). X-istunnon saat käyntiin tekstipohjaisesta tilasta komennolla | ||
startx | [[startx]] | ||
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öä. Ohjelmille voi määritellä mihin kohtaan näyttöä ja kuinka isoina niiden kuuluu avata ikkunansa. | |||
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 [[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== | |||
X tarjoaa monia tapoja, joilla ohjelmat voivat häiritä tai vakoilla toistensa toimintaa. Oletus on, että ajettvat 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ää X:ää käsin käynnistettäessä. 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 == | == Katso myös == | ||
Rivi 33: | Rivi 55: | ||
*[[Gadget]] | *[[Gadget]] | ||
*[[Widget]] | *[[Widget]] | ||
== man-sivuja == | |||
* X(7) | |||
* Xserver(1) | |||
* XFree86(1) | |||
* XStandards(7) | |||
==Aiheesta muualla== | ==Aiheesta muualla== |
Versio 21. helmikuuta 2008 kello 16.10
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ä MIT:llä oli nimeltään W, ja seuraavasta versiosta tuli X, kun X on aakkosissa W:n jälkeen.
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ä 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ö
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). X-istunnon saat käyntiin tekstipohjaisesta tilasta komennolla
startx
Ohjelmia voi käynnistää X-näytölle komentoriviltä kertomalle niille X-palvelimen osoite:
env DISPLAY=:0 xterm & xterm -display :0 &
X:ää jo käyttävillä ohjelmilla on tieto ympäristömuuttujassa DISPLAY, joten niistä käsin käynnistettyinä ohjelmat osaavat automaattisesti käyttää oikeaa näyttöä. Ohjelmille voi määritellä mihin kohtaan näyttöä ja kuinka isoina niiden kuuluu avata ikkunansa.
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 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ö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 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 teemat 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ä ajettvat ohjelmat ovat luotettavia ja hyvin käyttäytyviä. Normaalisti tämä ei ole ongelma, sillä jos koneella ajetaan 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 -nolisten tcp kannattaa käyttää X:ää käsin käynnistettäessä. Missään tapauksessa ei pidä käyttää xhost-komentoa (tarvittaessa tiedoston .Xauthority voi kopioida toiselle käyttäjälle, rootin 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
man-sivuja
- X(7)
- Xserver(1)
- XFree86(1)
- XStandards(7)