Gentoo Logo

X-palvelimen säätäminen

Sisällysluettelo:

1.  Mikä on X-palvelin?

Graafinen ja komento-rivi

Aloittelevalle käyttäjälle komentojen kirjoittaminen ei ole luontevinta. Gentoossa on mahdollistaa asentaa graafinen käyttöjärjestelmä monilla erilaisilla käyttöliittymävaihtoehdoilla.

Graafinen käyttöjärjestelmä on vain sovellus, joka ajetaan oikean käyttöjärjestelmän sisällä. Se ei siis kuulu Linuxin ytimeen tai muihin olennaisiin osiin. Se on vain työkalu, jolla saa aikaan graafisia käyttöliittymiä.

Standardi, jonka mukaan ikkunoita piirretään ja syötelaitteita käsitellään monissa järjestelmissä on X-ikkunointijärjestelmä, joskus vain X11 tai X. Sitä käytetään useimmissa Unixeissa ja Unix-tyylisissä käyttöjärjestelmissä.

Sovellus, joka Linuxeissa mahdollistaa graafiset X11-sovellukset, on Xorg. Xorg on alkujaan erotettu XFree86-projektista lisenssiongelmien takia. Vanhaa XFree86-järjestelmää ei enää löydy Gentoon Portage-puusta.

X.org-projekti

X.org ylläpitää vapaata ja avointa X11-totutusta, joka sisältää työpöytäinfrastruktuurin.

Xorg mahdollistaa laitteiston ja graafisten ohjelmien yhteistyön. Sen lisäksi Xorg on täysin verkkopohjainen, joten sovelluksia voi ajaa toisilta päätelaitteilta kuin niitä katsellaan.

2.  Xorgin asennus

Ennen Xorgin asentamista, pitää varmistaa että järjestelmä on sopivassa kunnossa. Ensin asennetaan ytimeen syötelaitteet ja näytönajurit. Sitten lisätään asetustiedostoon /etc/portage/make.conf tiedot oikeista Xorg-ajureista.

Syöteajurit

Oletuksena Xorg käyttää evdeviä syöteajurina kaikelle. Tätä varten pitää lisitä evdev-tuki ytimeen. Tästä on tarkemmat ohjeet ytimen asetusohjeissa

Koodilistaus 2.1: Evdev-asetus ydin-asetustossa

Device Drivers --->
  Input device support --->
  <*>  Event interface

Ytimen KMS-asetukset

Tyypilliset näytönajurit tarvitsevat KMS-tuen. KMS-tuki mahdollistaa paremman graafisen käynnistyksen, käyttäjänvaihdon, graafisen konsolin ja vaihdon sen ja grafiikkatilan välillä. KMS ei toimi yhteen vanhojen framebuffer-ajurien kanssa, joten ne pitää poistaa käytöstä.

Ensin asetetaan KMS päälle, riippumatta Xorgin ajureista.

Koodilistaus 2.2: Framebufferit ja KMS ydinasetuksissa

Device Drivers --->
  Graphics support --->
    Support for frame buffer devices --->
    (Poista kaikki)

    (lisää vain console support KMS:ää varten)
    Console display driver support --->
      <*>  Framebuffer Console Support

Seuraacaksi ytimeen tarvitaan KMS-ajuri näyttökortille. Intel, nVidia ja AMD/ATi ovat yleisimmät merkit, ja niiden esimerkit on lueteltu seuraavaksi.

Intelille:

Koodilistaus 2.3: Intel-asetukset

Device Drivers --->
  Graphics support --->
    /dev/agpgart (AGP Support) --->
    <*>  Intel 440LX/BX/GX, I8xx and E7x05 chipset support
    Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
    <*>  Intel 8xx/9xx/G3x/G4x/HD Graphics
    [*]    Enable modesetting on intel by default

nVidialle:

Koodilistaus 2.4: nVidia-asetukset ytimessä

Device Drivers --->
  Graphics support --->
    Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
  <*>    Nouveau (nVidia) cards

Uudemmat AMD/ATin kortit (RadeonHD 2000:sta lähtien), tarvitaan radeon-ucode-paketti tai linux-firmware Sen jälkeen lisätään ydinajurit:

Koodilistaus 2.5: AMD/ATi-asetukset ytimessä

(Radeonin firmwarea varten)
Device Drivers --->
  Generic Driver Options --->
  [*]  Include in-kernel firmware blobs in kernel binary
  # RadeonHD 2000, 3000, ja 4000:
  (radeon/R600_rlc.bin radeon/R700_rlc.bin) External firmware blobs
  # RadeonHD 5000, l. Evergreen:
  (radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin radeon/CEDAR_rlc.bin
   radeon/CYPRESS_me.bin radeon/CYPRESS_pfp.bin radeon/CYPRESS_rlc.bin
   radeon/JUNIPER_me.bin radeon/JUNIPER_pfp.bin radeon/JUNIPER_rlc.bin
   radeon/REDWOOD_me.bin radeon/REDWOOD_pfp.bin 
   radeon/REDWOOD_rlc.bin) External firmware blobs
   # Radeon HD 6000/7300 Fusion APU:t:
  (radeon/PALM_me.bin radeon/PALM_pfp.bin radeon/SUMO2_me.bin
   radeon/SUMO2_pfp.bin radeon/SUMO_me.bin radeon/SUMO_pfp.bin
   radeon/SUMO_rlc.bin) External firmware blobs
  # Radeon HD 6400-7600 eli Northern Islands:
  (radeon/BARTS_mc.bin radeon/BARTS_me.bin radeon/BARTS_pfp.bin
   radeon/BTC_rlc.bin radeon/CAICOS_mc.bin radeon/CAICOS_me.bin
   radeon/CAICOS_pfp.bin radeon/CAYMAN_mc.bin radeon/CAYMAN_me.bin
   radeon/CAYMAN_pfp.bin radeon/CAYMAN_rlc.bin radeon/TURKS_mc.bin
   radeon/TURKS_me.bin radeon/TURKS_pfp.bin) External firmware blobs
   (/lib/firmware/) Firmware blobs root directory
  # Radeon HD 7500/7600 series Fusion APUs:
  (radeon/ARUBA_me.bin radeon/ARUBA_pfp.bin radeon/ARUBA_rlc.bin)
   External firmware blobs
  # Radeon HD 7700-7900 aka. Southern Islands:
  (radeon/PITCAIRN_ce.bin radeon/PITCAIRN_mc.bin radeon/PITCAIRN_me.bin
   radeon/PITCAIRN_pfp.bin radeon/PITCAIRN_rlc.bin radeon/TAHITI_ce.bin
   radeon/TAHITI_mc.bin radeon/TAHITI_me.bin radeon/TAHITI_pfp.bin
   radeon/TAHITI_rlc.bin radeon/VERDE_ce.bin radeon/VERDE_mc.bin
   radeon/VERDE_me.bin radeon/VERDE_pfp.bin radeon/VERDE_rlc.bin)
   External firmware blobs
  # kaikille:
    (/lib/firmware/) Firmware blobs root directory

(Radeonin KMS-tuet)
Device Drivers --->
  Graphics support --->
  <*>  Direct Rendering Manager --->
  <*>    ATI Radeon
  [*]      Enable modesetting on radeon by default

Huomaa: Vanhemmat Radeonit (X1900:sta alaspäin) eivät tarvitse pakettia radeon-ucode tai firmware-asetuksia. Pelkkä Direct Rendering Manager ja modesetting riittävät.

KMS-asetusten jälkeen tehdään /etc/portage/make.conf-asetukset.

make.conf-asetukset

Kun ytimen asetukset on tehty, pitää asettaa Xorgin muuttujat tiedostoon /etc/portage/make.conf.

Ensimmäinen muuttuja, joka pitää asettaa on VIDEO_CARDS. Tällä määritellään mitä näyttöajuria käytetään. Yleisimpiä ovat nouveau nVidialle ja radeon AMD/ATille, molemmat avoimesti kehitettyjä.

Huomaa: nVidialle ja AMD/ATille on myös saatavilla suljetut kaupallisesti kehitetyt ajurit, nvidia ja fglrx. Kuitenkaan niiden asetuksista ei kerrota tässä ohjeessa, mutta lisätietoja on Gentoo Linuxin nVidia-ohjeessa ja Gentoo Linuxin ATI VUKKissa.

Ajuri intel sopii koneille, joissa on intelin integroitu näytönohjain.

Huomaa: VIDEO_CARDSiin voi kirjoittaa useamman ajurin välein eroteltuna.

Toinen asetettava muuttuja on INPUT_DEVICES, sitä voi käyttää määrittelemään syötelaitteiden asetuksia. Useimmiten pelkkä evdev toimii. Jos käytössä on muita laitteita, kuten synapticsin kosketuslaatta, se pitää lisätä myös muuttujaan INPUT_DEVICES.

Seuraavaksi lisätään muuttujat tiedostoon /etc/portage/make.conf:

Koodilistaus 2.6: Make.conf-muuttujat xorgille

(Hiiri, näppäimistö ja kosketuslaatta)
INPUT_DEVICES="evdev synaptics"
(nVidian näytönohjain)
VIDEO_CARDS="nouveau"
(AMD/ATin näytönohjain)
VIDEO_CARDS="radeon"

Jos annetut asetukset eivät toimi, kokeile emerge -pv xorg-drivers, ja varmista että kaikki on asetettu oikein. Tämä esimerkki on näppäimistöstä, hiirestä, synapticsin kosketuslaatasta ja AMD/ATin ajurista.

Koodilistaus 2.7: Ajuriasetusten tarkastelu emergellä

# emerge -pv xorg-drivers

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ]  x11-base/xorg-drivers-1.9  INPUT_DEVICES="evdev synaptics
-acecad -aiptek -elographics% -fpit% -joystick -keyboard -mouse -penmount -tslib
-virtualbox -vmmouse -void -wacom"
VIDEO_CARDS="radeon -apm -ark -ast -chips -cirrus -dummy -epson -fbdev -fglrx
(-geode) -glint -i128 (-i740) (-impact) -intel -mach64 -mga -neomagic (-newport)
-nouveau -nv -nvidia -r128 -rendition -s3 -s3virge -savage -siliconmotion -sis
-sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx)
-tdfx -tga -trident -tseng -v4l -vesa -via -virtualbox -vmware (-voodoo) (-xgi)"
0 kB

Asetusten teon jälkeen voit asentaa Xorgin.

Koodilistaus 2.8: Xorgin asennus emergellä

(varmistetaan udev use-asetuksiin)
# echo "x11-base/xorg-server udev" >> /etc/portage/package.use
(asennetaan xorg-server)  
# emerge xorg-server

Huomaa: On mahdollista asentaa suoraan xorg-x11-metapaketti pelkän xorg-server-palvelinpaketin sijaan. Käytännössä, xorg-x11 ja xorg-server ovat samoja. Kuitenkin, xorg-x11 lisää riippuvuuksia, joita ei välttämättä tarvitse, kuten fontteja.

Kun asetukset on tehty, pitää alustaa muuttujat ennen jatkamista.

Koodilistaus 2.9: Muuttujien alustus

# env-update
# source /etc/profile

3.  Xorgin asetukset

Nykyään X toimii suoraan ilman erillisiä asetutstiedostoja. Sen pitäisi tunnistaa asetukset automaattisesti.

Kannattaa suoraan kokeilla käynnistää X muuttamatta asetustiedostoa /etc/X11/xorg.conf.

Xorg.conf.d-asetukset

Huomaa: Tiedostojen muokkaaminen hakemistossa xorg.conf.d on yleensä viimeinen tehtävä asia, kun mikään ei toimi. Yleensä on kannattavaa olla koskematta hakemistoon.

Xorgin asetukset ovat hakemistossa xorg.conf.d, joka on hakemistossa /etc/X11. Jokainen tiedostoista päättyy .conf. jos nimet alkavat numeroilla ne suoritetaan järjestyksessä pienimmästä alkaen. Esimerkiksi 10-evdev.conf ennen tiedostoa 20-synaptics.conf, jne.

Huomaa: Xorgin esimerkkiasetukset ovat hakemistossa /usr/share/doc/xorg-server-${versio}/xorg.conf.example.bz2. Tästä voi kopioida osasia tiedostoihin hakemistossa /etc/X11/xorg.conf.d/. Esimerkit ovat hyvin kommentoituja, ja tarkempia tietoja syntaksista löytyy ohjesivulta man xorg.conf. Lisää esimerkkejä löytyy tämän ohjeen muita resursseja -osiosta.

Startx:n käyttö

Komennolla startx voi käynnistä X:n. startx suorittaa X-istunnon, eli käynnistää itse X:n ja joitain sovelluksia. Sovellukset jotka käynnistetään päätellään seuraavasti:

  • Kotihakemiston tiedostosta .xinitrc, jos sellainen on
  • Muuttujasta XSESSION jos sitä vastaa tiedosto hakemistossa /etc/X11/Sessions/. Tämän voi asettaa tiedostoon /etc/env.d/90xsession jotta sen saa kaikille käyttäjille oletukseksi. Esimerkiksi roottina komennolla echo XSESSION="Xfce4" > /etc/env.d/90xsession. Tämä luo tiedoston 90xsession asetuksella Xfce. Muista suorittaa env-update muutettuasi 90xsessionia.

Koodilistaus 3.1: X:n käynnistys

$ startx

Jos ikkunointiohjelmaa ei ole, käynnistyttyä ei näy mitään. Sama tapahtuu myös joissain virheissä, joten kokeeksi kannattanee asentaa twm ja xterm.

Näiden ohjelmien kanssa, startx käynnistää jo muutamia ikkunoitakin, joten on helppoa nähdä toimiiko se. Kun toimivuus on varmisettu, voi testisovellukset poistaa komennolla emerge --unmerge twm xterm. Ne eivät ole välttämättömiä työpöydällä.

4.  X:n asetukset

Resoluution asettaminen

Jos resoluutio näyttää väärältä, asetustiedostossa on kaksi kohtaa tarkistettavaksi. Ensinnä Screen-osiossa on luettelo resoluutioista, joita X-palvelin käyttää. Oletuksena tämä osio voi olla myös tyhjä, ja silloin Xorg arpoo resoluutiot osiosta Monitor.

Muokataan aluksi resoluutioarvoja. Seuraavassa esimerkissä lisätään /etc/X11/xorg.conf.d/40-monitor.confiin PreferredMode, jotta X käynnistyisi 1440×900-resoluutiossa. Nimi Option-osiossa pitää olla sama kuin monitorin (tässä DVI-0). Sen saa komennolla xrandr, joka löytyy asentamalla komennolla emerge xrandr.Option-asetuksen nimi vastaa Monitor-osion Identifier-asetusta.

Koodilistaus 4.1: Monitoriasetuksen säätäminen

# nano -w /etc/X11/xorg.conf.d/40-monitor.conf

Section "Device"
  Identifier  "RadeonHD 4550"
  Option      "Monitor-DVI-0" "DVI screen"
EndSection
Section "Monitor"
  Identifier  "DVI screen"
  Option      "PreferredMode" "1440x900"
EndSection

Käynnistä X testataksesi että resoluutio on oikea ja toimii.

Useampi näyttö

Monen näytön asetukset voi tehdä hakemistossa /etc/X11/xorg.conf.d/. Tähän riittää kun kaikilla näytöillä on Identifier ja ne asetellaan asetuksiall kuten "RightOf" (oikealla) tai "Above" (yllä) verrattuna toisiin näyttöihin. Tässä esimerkki DVI- ja VGA-liitännöistä, jossa VGA on oikealla.

Koodilistaus 4.2: Monen näytön asetus

  # nano -w /etc/X11/xorg.conf.d/40-monitor.conf

Section "Device"
  Identifier "RadeonHD 4550"
  Option     "Monitor-DVI-0" "DVI screen"
  Option     "Monitor-VGA-0" "VGA screen"
EndSection

Section "Monitor"
  Identifier "DVI screen"
EndSection

Section "Monitor"
  Identifier "VGA screen"
  Option     "RightOf" "DVI screen"
EndSection

Näppäimistöasetukset

Suomalaisia näppäimistöasetuksia varten joutuu luomaan asetustiedoston hakemistoon /etc/X11/xorg.conf.d/.

Koodilistaus 4.3: Suomalaisten näppäimistöasettelujen säätäminen

# nano -w /etc/X11/xorg.conf.d/30-keyboard.conf

Section "InputClass"
        Identifier "keyboard-all"
        Driver "evdev"
        Option "XkbLayout" "us,fi"
        Option "XkbModel" "logitech_g15"
        Option "XkbRules" "xorg"
        Option "XkbOptions" "grp:alt_shift_toggle,grp:switch,grp_led:scroll,com
pose:rwin,terminate:ctrl_alt_bksp"
        Option "XkbVariant" ",qwerty"
        MatchIsKeyboard "on"
EndSection

Terminate-asetus XkbOptions-rivillä (terminate:ctrl_alt_bksp) mahdollistaa X:n lopettamisen näppäilyllä Ctrl-Alt-askelpalautin. Tämä kuitenkin lopettaa X:n niin, että kaikki ohjelmat suljetaan välittömästi, mikä ei usein ole haluttua. Tämä hävittää kaikki tallentamattomat asetukset ja jotkin ohjelmat saattavat hajota siitä.

Loppuasetukset

Komennolla startx voi taas varmistua lopputuloksesta. Nyt kasassa pitäisi olla toimiva X-ympäristö. Seuraava askel olisi asentaa työpöytäympäristö. Joitakin työpöytäohjeita löytyy Gentoon työpöytäympäristöohjeista.

5.  Lisätietoa

Xorg.confin säätö

Ohjesivulla man xorg.conf ja man evdev on tiivis, mutta täysi luettelo asetustiedoston sisältömahdollisuuksista. Se kannattaa pitää esillä asetustiedostoa muokattaessa. Netissä on myös paljon tietoa asetuksista, alla on muutama lueteltuna, mutta Googlaamalla löytyy lisää.

Muut lähteet

Muita ohjeita löytyy Työpöytäopaskokoelmasta.

Päivitysohjeet xorg-serverin 1.8:aa vanhemmasta versiosta löytyy sivulta xorg migration guide.

X.orgin sivustolla on paljon VUKKeja (englanniksi) ja muita ohjeita.



Tulostettava muoto

Tämä sivu on viimeksi päivitetty 24. heinäkuuta 2012

Tätä käännöstä ei enää ylläpidetä

Tiivistelmä: Xorg on X-ikkunointipalvelin, joka mahdollistaa graafisen käyttöjärjestelmän. Tämä KUINKA-ohje kerto miten se asennetaan ja asetuksia muokataan.

Sven Vermeulen
Tekijä

Joshua Saddler
Tekijä

Flammie Pirinen
Vastuullinen kääntäjä

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.