Ero sivun ”X Window System” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
Ei muokkausyhteenvetoa
(45 välissä olevaa versiota 20 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
=X Window System=
[[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 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.


X Window System, lyhyemmin '[[X]]' tai '[[X11]]', pidetään yhtenä menestyneimmistä avoimen lähdekoodin projekteista. Siitä on muodostunut standardi Unix-sukuisten järjestelmien graafisena käyttöliittymänä, ja joustavien verkko-ominaisuuksiensa ansiosta se tulee olemaan tulevaisuudessakin tärkeä osa järjestelmiä.
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".


== Rakenne ja käyttöliittymät ==
X Window System suunniteltiin alun perin toimimaan verkossa, joten se toimii asiakas–palvelin-toteutuksella. Käyttäjän työpöytäkoneella ajettavaa ohjelmistoa, joka on kosketuksissa laitteiston kanssa, sanotaan X-palvelimeksi, kun taas X:ää käyttöliittymäänsä käyttävät ohjelmat ovat X-asiakkaita. Etäkäytössä asiakas ja palvelin käyttävät verkkoprotokollia, samalla koneella ajettaessa nopeampia kommunikointitapoja.


=Historiaa=
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 (ei kovin erikoinen tilanne [[X-pääte]]ympäristössä). Samalla näytöllä voi myös olla monella eri koneella ajettavien ohjelmien ikkunoita, eikä koneilla tarvitse olla samaa käyttöjärjestelmää.


Vuonna 1984 MIT:ssä käynnistettiin projekti nimeltä Athena.  
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.
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ö.
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.


Kiinnostus yrityksissä X Window Systemiä kohtaan alkoi nousta 1986 vuoden tietämillä, ja lopulta vuonna 1988, [[MIT]] julkaisi siitä version 11 julkaisuversion 2 (X11R2).
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]]).


X Window Systemin kehitys siirtyi julkaisun myötä [http://www.xfree86.org X-konsortion] hallinnoimaksi projektiksi [[XFree86]].
==Käyttö==
Viimeisin X-konsortion julkaisuversio on 6 (X11R6), joka julkaistiin syyskuussa 1995.  
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 {{näppäin|Ctrl|Alt|F4}}.


=X tänään=
Ohjelmia voi käynnistää X-näytölle [[komentorivi]]ltä kertomalle niille X-palvelimen osoite:
env DISPLAY=:0 xterm &
xterm -display :0 &


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.
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 [[valitsin|valitsimia]], millä määritellään esimerkiksi minne tai kuinka isona ohjelman kuuluu avata ikunansa.


X.Org:in kehitysversiossa on tehty laajennuksia alkuperäiseen versioon, kuten esim. serveripuolen anti-aliasing fonteille, sekä ipv6 tuki.
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.


XFree86-projektin kehitys jatkuu kaikesta huolimatta yhä aktiivisesti.
===X:n sulkeminen ja uudelleenkäynnistäminen===
Tällä hetkellä viimeisin julkaistu vakaa versio on XFree86 4.5.0, joka julkaistiin 16. maaliskuuta 2005.
X sulkeutuu sen yhteydessä käynnistetyn ohjelman myötä. Käsin käynnistettäessä tämä ohjelma määritetään [[xinit]]- tai [[startx]]-komennossa ja näiden käynnistämissä skripteissä. Graafista kirjautumisohjelmaa käytettäessä X joko käynnistyy uudestaan uloskirjautumisen yhteydessä tai vain järjestelmän käynnistyessä.


=Rakenteelliset erot=
X-istunnon on perinteisesti voinut pakottaa sulkeutumaan näppäinyhdistelmällä {{näppäin|Ctrl|Alt|Backspace}} (Askelpalautin).


X eroaa toteutukseltaan tavallisesta ikkunointijärjestelmästä. X suunniteltiin alunperin toimimaan verkossa, joten se toimii client/server toteutuksella, vastaavasti normaali lähestymistapa muilla ikkunointijärjestelmillä on luoda pelkkä standalone sovellus, jolla ikkunointi toteutetaan.
[[X.org]]in versiosta 1.6 lähtien (julkaistu 25.2.2009) tämä onnistuu kuitenkin vain, jos [[xorg.conf]]in <tt>ServerFlags</tt>-osioon on lisätty asetus
Option "DontZap" "false"
Joissakin jakeluissa (mm. [[Arch Linux]], [[Mandriva]], [[openSUSE]]) on myös mahdollista käyttää asetusta
  Option "ZapWarning" "true"
jolloin X:n sulkeminen onnistuu antamalla näppäinyhdistelmä kahdesti peräkkäin.


=Linkkejä=
Jos näppäinyhdistelmä ei toimi, X:n voi sulkea komentoriviltä, yleensä eri [[virtuaalikonsoli]]lta ({{näppäin|Ctrl|Alt|F1}}). Tällöin pitää löytää sopiva ohjelma, jonka sulkeminen saa istunnon päättymään ja suljettava tämä, mahdolisesti rootin oikeuksin. Se, mikä ohjelma on sopiva, riippuu siitä miten X on käynnistetty, mutta [[gdm]], [[xinit]] tai [[Xorg]] toimivat yleensä, jos ne löytyvät prosessilistasta:
$ [[ps]] -C Xorg
  PID TTY          TIME CMD
1234 tty7    00:11:18 Xorg
$ [[sudo]] [[kill]] -TERM 1234
 
Jos käytössä on [[graafinen kirjautumisohjelma]], tämä yleensä heti käynnistää X:n uudestaan. Virheellinen asetustiedosto kannattaa siis korjata ennen X:n sulkemista, esimerkiksi toiselta virtuaalikonsolilta (perinteiset [[tekstieditori]]t, kuten [[emacs]], [[vi]] ja [[nano]], toimivat myös ilman X:ää, toisin kuin gedit, kate ja kwrite).
 
X:n uudelleenkäynnistymisen saa estettyä joko muuttamalla [[ajotaso]]a ([[Redhat]]-pohjaiset) tai muuttamalla rc-hakemistossa linkki [[Init-skriptit|init-skriptiin]] ([[Debian]]-pohjaiset). Tämän jälken suljetaan tarvittaessa graafinen kirjautumisohjelma.
 
# [[telinit]] 3
 
$ ls /etc/rc2.d/*dm
/etc/rc2.d/S30gdm
$ sudo [[mv]] /etc/rc2.d/{S,K}30gdm
$ [[ps]] -C gdm
  PID TTY          TIME CMD
5678 tty7    00:00:00 gdm
$ [[sudo]] [[kill]] -TERM 5678
 
Ajotaso 3 on normaalisti ajotaso ilman X:ää, 5 X:llä. Ajotaso 2 on Debianin oletusajotaso. Tässä esimerkissä linkki S30gdm (S="start") siirretään nimelle K30gdm (K="kill"). Katso että käytät oikeita numeroita. Jakeluilla on myös erillisiä työkaluja palvelujen säätöön.
 
X:n voi taas ottaa käyttöön, joko väliaikaisesti komennolla [[startx]] tai vaihtamalla ajotasoa tai linkin nimeä:
 
$ startx
 
# [[telinit]] 5
 
$ sudo [[mv]] /etc/rc2.d/{K,S}30gdm
$ sudo /etc/init.d/gdm start
 
==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&nbsp;tcp</tt> kannattaa käyttää käynnistettäessä "raakaa" X:ää esimerkiksi komennoilla <tt>X</tt>, <tt>[[Xnest]]</tt> tai <tt>[[Xephyr]]</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).
 
==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.Orgin versioissa on tehty laajennuksia alkuperäiseen versioon, kuten palvelinpuolen anti-aliasing-fontit, [[IPv6]]-tuki sekä näyttöasetusten muuttaminen ajon aikana [[RandR]]-protokollan avulla.
 
== Katso myös ==
*[[X.orgin asetukset]]
*[[Ikkunointiohjelma]]
*[[Työpöytäympäristö]]
*[[X:n leikepöydät]]
*[[RandR]]
*[[Xnest]]
*[[Xephyr]]
*[[Gadget]]
*[[Widget]]
*[[Cygwin]] (X-ympäristö Windowsille)
 
== [[man]]-sivuja ==
* X(7)
* Xserver(1)
* Xorg(1)
* XFree86(1)
* XStandards(7)
 
==Aiheesta muualla==
* [[wikipedia:fi:X_Window_System|X Wikipediassa]]
* [http://www.x.org/ X.orgin kotisivu ]
* [http://www.x.org/ X.orgin kotisivu ]
* [http://www.xfree86.org XFree86:n kotisivu]
* [http://www.xfree86.org XFree86:n kotisivu]
* [http://www.apple.com/macosx/features/x11/ X11 Mac OS X:lle]
* [http://www.apple.com/macosx/features/x11/ X11 Mac OS X:lle]
[[Luokka:Järjestelmä]]
[[Luokka:X]]

Versio 27. huhtikuuta 2016 kello 23.32

X Window Systemin hajautetun rakenteen ansiosta Linux-koneella ajettavia X-ohjelmia voidaan käyttää vaikkapa Windows-työpöydällä.

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ä 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".

Rakenne ja käyttöliittymät

X Window System suunniteltiin alun perin toimimaan verkossa, joten se toimii asiakas–palvelin-toteutuksella. Käyttäjän työpöytäkoneella ajettavaa ohjelmistoa, joka on kosketuksissa laitteiston kanssa, sanotaan X-palvelimeksi, kun taas X:ää käyttöliittymäänsä käyttävät ohjelmat ovat X-asiakkaita. Etäkäytössä asiakas ja palvelin käyttävät verkkoprotokollia, samalla koneella ajettaessa nopeampia kommunikointitapoja.

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 (ei kovin erikoinen tilanne X-pääteympäristössä). Samalla näytöllä voi myös olla monella eri koneella ajettavien ohjelmien ikkunoita, eikä koneilla tarvitse olla samaa käyttöjärjestelmää.

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ö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).

Käyttö

X käynnistetään joko yhdessä 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.

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öä. 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.

X:n sulkeminen ja uudelleenkäynnistäminen

X sulkeutuu sen yhteydessä käynnistetyn ohjelman myötä. Käsin käynnistettäessä tämä ohjelma määritetään xinit- tai startx-komennossa ja näiden käynnistämissä skripteissä. Graafista kirjautumisohjelmaa käytettäessä X joko käynnistyy uudestaan uloskirjautumisen yhteydessä tai vain järjestelmän käynnistyessä.

X-istunnon on perinteisesti voinut pakottaa sulkeutumaan näppäinyhdistelmällä Ctrl+Alt+← Backspace (Askelpalautin).

X.orgin versiosta 1.6 lähtien (julkaistu 25.2.2009) tämä onnistuu kuitenkin vain, jos xorg.confin ServerFlags-osioon on lisätty asetus

Option "DontZap" "false"

Joissakin jakeluissa (mm. Arch Linux, Mandriva, openSUSE) on myös mahdollista käyttää asetusta

 Option "ZapWarning" "true"

jolloin X:n sulkeminen onnistuu antamalla näppäinyhdistelmä kahdesti peräkkäin.

Jos näppäinyhdistelmä ei toimi, X:n voi sulkea komentoriviltä, yleensä eri virtuaalikonsolilta (Ctrl+Alt+F1). Tällöin pitää löytää sopiva ohjelma, jonka sulkeminen saa istunnon päättymään ja suljettava tämä, mahdolisesti rootin oikeuksin. Se, mikä ohjelma on sopiva, riippuu siitä miten X on käynnistetty, mutta gdm, xinit tai Xorg toimivat yleensä, jos ne löytyvät prosessilistasta:

$ ps -C Xorg
 PID TTY          TIME CMD
1234 tty7     00:11:18 Xorg
$ sudo kill -TERM 1234

Jos käytössä on graafinen kirjautumisohjelma, tämä yleensä heti käynnistää X:n uudestaan. Virheellinen asetustiedosto kannattaa siis korjata ennen X:n sulkemista, esimerkiksi toiselta virtuaalikonsolilta (perinteiset tekstieditorit, kuten emacs, vi ja nano, toimivat myös ilman X:ää, toisin kuin gedit, kate ja kwrite).

X:n uudelleenkäynnistymisen saa estettyä joko muuttamalla ajotasoa (Redhat-pohjaiset) tai muuttamalla rc-hakemistossa linkki init-skriptiin (Debian-pohjaiset). Tämän jälken suljetaan tarvittaessa graafinen kirjautumisohjelma.

# telinit 3
$ ls /etc/rc2.d/*dm
/etc/rc2.d/S30gdm
$ sudo mv /etc/rc2.d/{S,K}30gdm
$ ps -C gdm
 PID TTY          TIME CMD
5678 tty7     00:00:00 gdm
$ sudo kill -TERM 5678

Ajotaso 3 on normaalisti ajotaso ilman X:ää, 5 X:llä. Ajotaso 2 on Debianin oletusajotaso. Tässä esimerkissä linkki S30gdm (S="start") siirretään nimelle K30gdm (K="kill"). Katso että käytät oikeita numeroita. Jakeluilla on myös erillisiä työkaluja palvelujen säätöön.

X:n voi taas ottaa käyttöön, joko väliaikaisesti komennolla startx tai vaihtamalla ajotasoa tai linkin nimeä:

$ startx
# telinit 5
$ sudo mv /etc/rc2.d/{K,S}30gdm
$ sudo /etc/init.d/gdm start

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 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ää käynnistettäessä "raakaa" X:ää esimerkiksi komennoilla X, Xnest tai Xephyr. Useimmissa jakeluissa --nolisten tcp on oletuksena päällä käytettäessä komentoja xinit tai startx. 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).

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, Novell ja Hewlett Packard.

X.Orgin versioissa on tehty laajennuksia alkuperäiseen versioon, kuten palvelinpuolen anti-aliasing-fontit, IPv6-tuki sekä näyttöasetusten muuttaminen ajon aikana RandR-protokollan avulla.

Katso myös

man-sivuja

  • X(7)
  • Xserver(1)
  • Xorg(1)
  • XFree86(1)
  • XStandards(7)

Aiheesta muualla