Keywords: gs-sl

Naprej: 6. Vmreževanje Navzgor: Namestitev in začetek dela Nazaj: 4. Sistemsko upravljanje

Podrazdelki

- 5.1 Strojne zahteve za sistem X Window
  - 5.1.1 Grafična kartica
  - 5.1.2 Pomnilnik, procesor in diskovni prostor
- 5.2 Namestitev XFree86
- 5.3 Preizkušanje strojne sestave
- 5.4 Samodejno generiranje datoteke `XF86Config`
- 5.5 Nastavitev XFree86
- 5.6 Izpolnjevanje informacij o grafični kartici
- 5.7 Poganjanje XFree86
- 5.8 Ko zaidete v težave

# 5. X Window System

Okenski sistem X Window System je grafični uporabniški vmesnik (angl. graphical user interface, GUI) in je bil prvotno razvit na Massachusetts Institute of Technology (MIT). Komercialni proizvajalci so od takrat napravili X za industrijsko standardni GUI za platforme Unix. Zdi se, da vsaka delovna postaja Unix na svetu zdaj poganja neko obliko sistema X.

Prenos MIT X Window System različice 11, izdaje 6 (X11R6) za sisteme Unix s procesorji 80386, 80486 in Pentium, je razvila programerska skupina, ki jo je prvotno vodil David Wexelblat. Ta izdaja, znana kot XFree865.1, je prosto dostopna za sisteme System V/386, 386BSD in druge izvedbe Unixa za procesorje Intel x86, vključno z Linuxom. Ponuja vse binarne datoteke, podporne datoteke, knjižnice in orodja, potrebna za namestitev.

Nekatere odlike, ki jih ponuja ta izdaja, so:

- popolna vključitev izdaje X11R6.3 ustanove X Consortium;
- nova razširitev DPMS, podarilo jo je podjetje Digital Equipment Corporation;
- razširitve Low Bandwidth X (LBX) v vseh strežnikih X;
- podpora za Microsoft IntelliMouse;
- podpora za zgoščevanje pisav z `gzip`-om.

Za uporabo okenskega sistema X vam svetujemo, da preberete knjigo The X Window System: A User's Guide (glejte dodatek A). Tukaj korak za korakom opisujemo namestitev XFree86 pod Linuxom. Še vedno morate zapolniti nekatere podrobnosti z branjem dokumentacije za XFree86, o kateri razpravljamo spodaj. Še en dober vir informacij je spis XFree86 HOWTO.

# 5.1 Strojne zahteve za sistem X Window

## 5.1.1 Grafična kartica

Dokumentacija za vašo grafično kartico bi morala določati nabor čipov. Če v trgovini iščete novo grafično kartico ali kupujete stroj, ki je opremljen z grafično kartico, prosite prodajalca, da vam pove natančnega izdelovalca, model in nabor čipov na grafični kartici. Prodajalec bo morda moral poklicati proizvajalčev oddelek za tehnično podporo. Mnogo prodajalcev računalniške strojne opreme zagotavlja, da je njihova grafična kartica ,,standardna kartica SVGA``, ki ,,bi morala delovati`` z vašim sistemov. Pojasnite, da vaše programje (omenite Linux in XFree86!) ne podpira vseh grafičnih čipov in morate zato poznati točne podatke.

Čipje grafične kartice lahko določite tudi tako, da poženete program SuperProbe, ki je vključen v distribucijo XFree86. To je opisano v nadaljevanju.

Grafične kartice, ki uporabljajo navedene nabore čipov, so uporabne na vseh tipih vodil, vključno z VLB, PCI in AGP. Vsi našteti nabori čipov so podprti v 256-barvnem načinu. Poleg tega nekatere kartice podpirajo barvne načine, kot je enobarvni (torej: le črna ali le bela pika na zaslonu), 15-bitni, 16-bitni, 24-bitni in 32-bitni način. Za barvne globine, večje od 256 barv (8 bitov), morate imeti nameščeno potrebno količino grafičnega pomnilnika (angl. video dynamic RAM, DRAM). Navadna nastavitev je 16 bitov na piko (65536 barv).

Monokromatski strežnik podpira tudi splošne kartice VGA, monokromatsko kartico Hercules, Hyundai HGC1280, Sigma LaserView in monokromatske kartice Apollo.

Zapiski ob izdaji trenutne različice XFree86 bi morali vsebovati popoln seznam podprtih naborov videočipov. Distribucija XFree86 ima datoteke `README`, specifične za nabore čipov, ki ponujajo podrobne informacije o stanju podpore za vsak posamezni nabor čipov.

Pereč problem, s katerim se soočajo razvijalci XFree86, je, da nekateri proizvajalci uporabljajo nestandardne mehanizme za določanje točkovnih frekvenc, potrebnih za nastavljanje kartice. Nekateri od teh proizvajalcev ne izdajo specifikacij, kako naj program uporablja kartico, ali zahtevajo od razvijalcev, da podpišejo pogodbo, s katero se obvezujejo, da ne bodo izdali danih specifikacij. To bi očitno preprečevalo prosto razširjanje programja XFree86, s čimer se razvijalska skupina XFree86 noče sprijazniti. Zato so bili dolgo problemi z Diamondovimi grafičnimi karticami, v izdaji XFree86 3.1 pa je Diamond začel sodelovati z razvijalsko skupino za XFree86 in izdal proste gonilnike za svoje kartice.

Priporočamo tudi uporabo pospeševalnih kartic, kot so npr. kartice z naborom čipov S3. Pregledati bi morali dokumentacijo za XFree86 in preveriti, da je podprta vaša izbrana kartica, preden napravite odločilni korak in kupite drago strojno opremo. Primerjalni testi grafičnih kartic pod XFree86 se rutinsko objavljajo v novičarskih skupinah Useneta `comp.windows.x.i386unix` in `comp.os.linux.misc`.

Pomembno je upoštevati, da je povprečna pospeševalna grafična kartica znatno hitrejša od standardne grafične kartice večine delovnih postaj. Sistem z Linuxom na 66-MHz procesorju 80486DX2 z 20 megabajti RAM-a, opremljen z grafično kartico za vodilo VESA Local Bus (VLB) in naborom čipov S3-864, ki ima 2 megabajta DRAM-a, opremljen s strežnikom XFree86 3.1, bo pri primerjalnih testih za X dosledno okrog 7-krat hitrejši od delovne postaje Sun Sparc IPX. Različica z XFree86 3.3 je še hitrejša. V splošnem vam bo dal sistem Linux z grafičnim pospeševalnikom SVGA veliko večje zmogljivosti kot komercialne delovne postaje Unix, ki navadno uporabljajo preproste slikovne izravnalnike (angl. frame buffers) za grafiko.

## 5.1.2 Pomnilnik, procesor in diskovni prostor

Priporočena sestava za XFree86 pod Linuxom je stroj s procesorjem 80486 ali hitrejšim, z vsaj 16 megabajti RAM-a. Več kot je nameščenega fizičnega RAM-a, manj mora sistem izmenjevati pomnilnik z diskom, ko zmanjka pomnilnika. Ker je zamenjevanje vrojeno počasno (diski so zelo počasni glede na pomnilnik), je potrebno imeti 16 megabajtov ali več RAM-a za udobno delo z XFree86. Sistem s 4 MB fizičnega RAM-a lahko teče 10- do 100-krat počasneje od sistema s 16 MB ali več pomnilnika.

Običajna namestitev XFree86 ,,iz škatle`` zahteva minimalno 60-80 megabajtov diskovnega prostora. To vključuje prostor za strežnik(e), pisave, knjižnice in standardne pripomočke. Če nameravate dodajati aplikacije, lahko verjetno udobno poganjate XFree86 v 200 MB diskovnega prostora.

# 5.2 Namestitev XFree86

Binarno distribucijo XFree86 za Linux najdete na vseh distribucijah Linuxa na CD-ROM-ih in tudi na številnih mestih za FTP. Na `metalab.unc.edu` jo najdete v imeniku `/pub/X11/XFree86`. V času nastanka te knjige je trenutna različica 3.3.1. Novejše različice redno izhajajo. Če ste dobili XFree86 kot del distribucije Linuxa, lahko ta razdelek preskočite.

V distribucijo XFree86-3.3.1 so vključene spodaj opisane datoteke. Potreben je eden od naslednjih strežnikov:

datoteka | opis
`X338514.tgz` | Strežnik za plošče z 8514.
`X33AGX.tgz` | Strežnik za plošče z AGX.
`X33I128.tgz` | Strežnik za plošče Imagine I128.
`X33Ma64.tgz` | Strežnik za plošče z Mach64.
`X33Ma32.tgz` | Strežnik za plošče z Mach32.
`X33Ma8.tgz` | Strežnik za plošče z Mach8.
`X33Mono.tgz` | Strežnik za monokromatske grafične načine.
`X33P9K.tgz` | Strežnik za plošče z P9000.
`X33S3.tgz` | Strežnik za plošče z S3.
`X33S3V.tgz` | Strežnik za plošče z S3/Virge.
`X33SVGA.tgz` | Strežnik za plošče z Super VGA.
`X33VGA16.tgz` | Strežnik za plošče z VGA/EGA.
`X33W32.tgz` | Strežnik za plošče z ET4000/W32.

Potrebne so tudi vse naslednje datoteke:

datoteka | opis
`preinst.sh` | Prednamestitveni skript.
`postinst.sh` | Ponamestitveni skript.
`X33bin.tgz` | Odjemniki, izvajalne knjižnice in datoteke privzetih nastavitev aplikacij.
`X33doc.tgz` | Dokumentacija.
`X33fnts.tgz` | Pisave 75dpi, misc in PEX.
`X33lib.tgz` | Datoteke s podatki, potrebnimi pri izvajanju.
`X33man.tgz` | Strani priročnika.
`X33set.tgz` | Pripomoček `XF86Setup`.
`X33VG16.tgz` | 16-barvni strežnik VGA (`XF86Setup` potrebuje ta strežnik)

Naslednje je potrebno za nove namestitve in izbirno za obstoječe namestitve:

datoteka | opis
`X33cfg.tgz` | primer nastavitvenih datotek za `xinit`, `xdm`.

¤ Ne nameščajte `X33cfg.tgz` preko obstoječe namestitve XFree86, ne da bi najprej naredili rezervne kopije nastavitvenih datotek. Odpakiranje `X33cfg.tgz` prepiše te in druge datoteke. Če že imate prilagojene nastavitvene datoteke, ni potrebe, da bi namestili ta paket.

¤ Rastrske pisave, distribuirane z izdajo 3.3.1, so zgoščene s programom `gzip`, ne s `compress`. Verjetno boste želeli odstraniti stare pisave, ko boste naredili njihove varnostne kopije. Strežniki X in strežniki pisav v prejšnjih izdajah ne morejo brati pisav, zgoščenih z `gzip`-om, zato shranite kopijo starih pisav, če želite uporabljati starejše strežnike.

Naslednje datoteke so izbirne:

Datoteka | Opis
`X33f100.tgz` | Pisave 100dpi.
`X33fcyr.tgz` | Cirilične pisave.
`X33fnon.tgz` | Druge pisave (kitajske, japonske, korejske, hebrejske).
`X33fscl.tgz` | Raztegljive pisave (Speedo in Type1).
`X33fsrv.tgz` | Strežnik za pisave in nastavitvene datoteke.
`X33prog.tgz` | Datoteke z glavami za X, nastavitvene datoteke in prevajalne knjižnice.
`X33nest.tgz` | Gnezdeni strežnik X.
`X33vfb.tgz` | Strežnik X z navideznim slikovnim izravnalnikom (angl. virtual framebuffer).
`X33prt.tgz` | Tiskalniški strežnik X.
`X33ps.tgz` | Različica dokumentacije v Postscriptu.
`X33html.tgz` | Različica dokumentacije v HTML.
`X33jdoc.tgz` | Dokumentacija v japonščini (za različico 3.2).
`X33jhtm.tgz` | Različica japonske dokumentacije v HTML (3.2).
`X33lkit.tgz` | LinkKit za strežnik X.

Imenik za XFree86 bi moral vsebovati datoteke `README` in namestitvena sporočila za trenutno različico.

Najprej kot root ustvarite imenik `/usr/X11R6`, če še ne obstaja. Nato poženite prednamestitveni skript `preinst.sh`. Skript in vse arhivne datoteke za vaš sistem morate prepisati v imenik `/var/tmp`, preden poženete `preinst.sh`. Ko poženete prednamestitveni skript in odpakirate arhive, mora biti `/usr/X11R6` vaš trenutni imenik.

> `# cd /usr/X11R6
> # sh /var/tmp/preinst.sh`

Potem bi morali odpakirati datoteke iz `/var/tmp` v `/usr/X11R6` z ukazom, kot je:

> `# gzip -d < /var/tmp/X33prog.tgz | tar vxf -`

¤ Te datoteke za `tar` so pakirane relativno na `/usr/X11R6`. Datoteke morate odpakirati tam. Na nekaterih distribucijah Linuxa je namesto tega starševski imenik `/var/X11R6`.

Ko ste odpakirali potrebne datoteke in vse izbirne datoteke, ki ste jih določili, poženite ponamestitveni skript `postinst.sh`.

> `# cd /usr/X11R6
> # sh /var/tmp/postinst.sh`

Zdaj povežite datoteko `/usr/X11R6/bin/X` na strežnik, ki podpira vašo grafično kartico. Če je to na primer barvna SVGA, mora biti `/usr/X11R6/bin/X` povezan na `/usr/X11R6/bin/XF86_SVGA`. Za uporabo monokromatskega strežnika namesto tega prevežite `X` na `XF86_MONO` z ukazom

> `# ln -sf /usr/X11R6/bin/XF86_MONO /usr/X11R6/bin/X`

Enako velja tudi za druge strežnike.

Zagotoviti morate tudi, da je imenik `/usr/X11R6/bin` v vaši poti. To lahko storite z urejanjem sistemskih privzetih vrednosti v datoteki `/etc/profile` ali `/etc/csh.login` (odvisno od lupine, ki jo uporabljate vi ali drugi uporabniki sistema). Lahko pa preprosto dodate imenik v vašo osebno pot, tako da, odvisno od vaše ukazne lupine, spremenite `/etc/.bashrc` ali `/etc/.cshrc`.

Na koncu zagotovite, da izvajalni povezovalnik `ld.so` lahko najde `/usr/X11R6/lib`. Za to dodajte vrstico

> `/usr/X11R6/lib`

v datoteko `/etc/ld.so.conf` in kot `root` poženite `/sbin/ldconfig`.

# 5.3 Preizkušanje strojne sestave

Če niste prepričani, kateri strežnik uporabiti, ali ne poznate nabora čipov vaše video kartice, uporabite program `SuperProbe`, ki ga najdete v `/usr/X11R6/bin`. Ta lahko poskusi ugotoviti nabor video čipov in druge informacije. Zapišite njegov izhod za poznejšo rabo.

SuperProbe poženite kot `root` z ukazom:

> `# SuperProbe`

¤ `SuperProbe` sistematično preiskuje V/I vrata, ki bi jih lahko uporabljale grafične kartice, kar lahko zmede naprave, ki v resnici uporabljajo ta vrata. Da preprečite programu SuperProbe preverjanje teh naslovov, uporabite argument `excl`, ki mu sledi seznam naslovov, ki naj jih `SuperProbe` ne preiskuje. Na primer:

> `# SuperProbe -excl 0x200-0x230,0x240`

Naslovi so podani kot šestnajstiške številke s predpono `0x`.

Za prikaz seznama video naprav, ki jih SuperProbe pozna, uporabite ukaz

> `# SuperProbe -info`

`SuperProbe` lahko izpiše veliko informacij, če dodate argument `-verbose`. Izhod lahko preusmerite v datoteko:

> `# SuperProbe -verbose >superprobe.out`

¤ Poganjanje SuperProbe lahko povzroči, da se sistem obesi. Prepričajte se, da ne tečejo pomembne aplikacije, ali vsaj, da imate vse svoje podatke varno shranjene na disku, in zagotovite, da so vsi uporabniki odjavljeni. Tudi preobremenjen sistem (ki tiska v ozadju, na primer), lahko zmede izhod programa SuperProbe ali strežnik X, ko poskušata izmeriti frekvenčne specifikacije grafične kartice.

# 5.4 Samodejno generiranje datoteke `XF86Config`

Ročno pripravljanje datoteke `XF86Config` je naporno opravilo, čeprav ne nemogoče. Pomaga vam lahko več pripomočkov iz XFree86 različice 3.3.1. Eden izmed njih, program `XF86Setup`, lahko samodejno generira datoteko `XF86Config` v pravilni obliki. Poznati morate natančne specifikacije svoje video plošče in vertikalne ter horizontalne osvežitvene frekvence monitorja. Večino informacij lahko najdete v uporabniških priročnikih.

Odvisno od distribucije Linuxa je dostopnih tudi več drugih nastavitvenih programov. Najpogostejša sta `Xconfigurator` in `xf86config`. Slednji je starejša različica programa `XF86Setup` in je vključen v starejše izdaje XFree86. Če imate nameščena `xf86config` in `XF86Setup`, uporabite slednjega.

# 5.5 Nastavitev XFree86

V tem razdelku opisujemo, kako ustvariti in urediti datoteko `XF86Config`, ki nastavlja strežnik XFree86. V veliko primerih je najbolje začeti z nastavitvijo XFree86, ki uporablja nizko ločljivost, kot je 640×480, in jo podpirajo domala vse grafične kartice in monitorji. Ko enkrat XFree86 deluje na nizki, standardni ločljivosti, lahko spreminjate nastavitev in raziskujete zmogljivosti vaše video strojne opreme. To zagotavlja, da XFree86 deluje na vašem sistemu in da je njegova namestitev v bistvu pravilna, preden poskušate včasih zapletena opravila nastavitve XFree86 za visoko zmogljivostno uporabo.

Poleg informacij, naštetih tukaj, bi morali prebrati naslednje spise:

- Dokumentacijo za XFree86 v `/usr/X11R6/lib/X11/doc` (iz paketa `XFree86-3.1-doc`). Posebej morate pogledati datoteko `README.Config`, ki je učbenik za nastavljanje XFree86.
- Mnogi nabori video čipov imajo posebne datoteke `README` v zgornjem imeniku (kot `README.Cirrus` in `README.S3`). Preberite datoteko, ki se nanaša na vašo grafično kartico.
- Stran priročnika o `XFree86`.
- Stran priročnika o `XF86Config`.
- Stran priročnika o strežniku, ki ga uporabljate, kot `XF86_SVGA` ali `XF86_S3`.

Glavna nastavitvena datoteka za XFree86 je `/usr/X11R6/lib/X11/XF86Config`. Ta datoteka vsebuje informacije o vaši miški, parametrih grafične kartice in tako naprej. Datoteka `XF86Config.eg` je priložena distribuciji XFree86 kot primer. Prepišite to datoteko v `XF86Config` in jo uredite kot začetno izhodišče.

Stran priročnika o `XF86Config` razlaga format datoteke `XF86Config`. Preberite stran priročnika, če tega še niste naredili.

Opisali bomo vzorčno datoteko `XF86Config`, razdelek za razdelkom. Ta datoteka morda ne bo videti popolnoma tako kot vzorčna datoteka, vključena v distribucijo XFree86, a njena struktura je enaka.

¤ Upoštevajte, da se lahko format datoteke `XF86Config` spreminja z vsako različico XFree86. Glejte sporočila ob izdaji vaše distribucije za popravke.

¤ Ne kopirajte tukaj navedene nastavitvene datoteke na vaš sistem in je ne poskušajte uporabljati. Nastavitvena datoteka, ki ne ustreza vaši strojni opremi, lahko poganja monitor na frekvenci, ki je zanj previsoka. Bilo je že veliko poročil o poškodbi monitorjev, posebej monitorjev s fiksnimi frekvencami, ki so jih povzročile nepravilno nastavljene datoteke `XF86Config`. Absolutno se prepričajte, da vaša datoteka `XF86Config` ustreza vaši strojni opremi, preden jo uporabite.

Vsak razdelek datoteke `XF86Config` obdaja par vrstic s skladnjo `Section "ime-razdelka"`...`EndSection`.

Prvi razdelek datoteke `XF86Config` je razdelek o datotekah, `Files`, ki je videti takole:

>     Section "Files"
>         RgbPath     "/usr/X11R6/lib/X11/rgb"
>         FontPath    "/usr/X11R6/lib/X11/fonts/misc/"
>         FontPath    "/usr/X11R6/lib/X11/fonts/75dpi/"
>     EndSection

Vrstica `RgbPath` nastavi pot do podatkovne baze barv v formatu RGB za X11R6. Vsaka vrstica `FontPath` nastavlja pot do imenika, ki vsebuje pisave za X11. Teh dveh vrstic vam ne bi bilo treba spreminjati. Preprosto zagotovite, da vnos `FontPath` obstaja za vsako vrsto pisav, ki jo imate nameščeno; se pravi, za vsak podimenik v imeniku `/usr/X11R6/lib/X11/fonts`.

Naslednji razdelek je `ServerFlags`, ki določa več globalnih zastavic za strežnik. V splošnem je ta razdelek prazen.

>     Section "ServerFlags"
>     # Odkomentirajte to, če želite povzročiti izpis posmrtnih ostankov
>     # procesa takoj ob prejetju ustreznega signala. To lahko pusti
>     # konzolo v neuporabnem stanju, a ponuja boljše sledenje sklada
>     # v posmrtnem ostanku in vam pomaga pri razhroščevanju.
>     #    NoTrapSignals

>     # Odkomentirajte to, če želite onemogočiti ukinitev strežnika
>     # s kombinacijo <Ctrl><Alt><BS>:
>     #    DontZap
>     EndSection

V tem razdelku `ServerFlags` so vse vrstice zakomentirane.

Naslednji razdelek je razdelek o tipkovnici, `Keyboard`. Ta primer prikazuje osnovne nastavitve, ki bi morale delovati na večini sistemov. Datoteka `XF86Config` opisuje, kako spremeniti nastavitev.

>     Section "Keyboard"
>         Protocol    "Standard"
>         AutoRepeat  500 5
>         ServerNumLock
>     EndSection

Sledi mu razdelek `Pointer`, ki določa parametre za miško ali drugo kazalno napravo:

>     Section "Pointer"

>         Protocol    "MouseSystems"
>         Device      "/dev/mouse"

>     # Vnosa Baudrate in SampleRate sta le za nekatere miške znamke
>     # Logitech.
>     #    BaudRate   9600
>     #    SampleRate	150

>     # Emulate3Buttons (emulacija treh gumbov) je izbira za miške znamke
>     # Microsoft, ki imajo samo dva gumba.
>     #    Emulate3Buttons

>     # ChordMiddle je izbira za nekatere miške Logitech s tremi gumbi.
>     #    ChordMiddle

>     EndSection

Trenutno sta edini izbiri, ki bi vas morali zanimati, `Protocol` in `Device`. `Protocol` določa komunikacijski protokol miške. XFree86 pod Linuxom prepoznava naslednje protokole za miške:

- `BusMouse`
- `Logitech`
- `Microsoft`
- `MMSeries`
- `Mouseman`
- `MouseSystems`
- `PS/2`
- `MMHitTab`

Ime komunikacijskega protokola se ne ujema nujno z imenom proizvajalca miške. Protokol `BusMouse` naj bi se uporabljal za miško Logitech, priključeno na vodilo. Starejše miške Logitech uporabljajo protokol `Logitech`, novejše zaporedne miške Logitech pa protokol `Microsoft` ali `Mouseman`.

`Device` določa datoteko naprave, s katero se dostopa do miške. Na večini sistemov Linux je to `/dev/mouse`, ki je navadno povezava na ustrezna zaporedna vrata kot `/dev/cua0` za zaporedne miške in ustrezno napravo miške na vodilu za miške na vodilu. V vsakem primeru se prepričajte, da ta datoteka naprave obstaja.

Naslednji razdelek je `Monitor`, ki določa karakteristike vašega monitorja. Kot pri drugih razdelkih v datoteki `XF86Config`, je tudi tu lahko več kot en razdelek `Monitor`. To je uporabno, če imate na sistem priključenih več monitorjev ali uporabljate isto datoteko `XF86Config` za različne strojne sestave.

>     Section "Monitor"

>         Identifier  "CTX 5468 NI"

>         # Te vrednosti so le za model CTX 5468NI! Ne poskušajte jih
>         # uporabljati z vašim monitorjem (če nimate ravno tega modela).

>         Bandwidth    60
>         HorizSync    30-38,47-50
>         VertRefresh  50-90

>         # Načini: ime   točkovna frekvenca    horiz.         vert.

>         ModeLine "640x480"  25       640 664 760 800      480 491 493 525
>         ModeLine "800x600"  36       800 824 896 1024     600 601 603 625
>         ModeLine "1024x768" 65       1024 1088 1200 1328  768 783 789 818

>     EndSection

`Identifier` je poljubno ime za vnos `Monitor`. To je lahko poljuben niz in se uporablja za poznejše sklicevanje na vnos `Monitor` v datoteki `XF86Config`.

`HorizSync` določa veljavne frekvence horizontalne sinhronizacije vašega monitorja v kHz. Pasovno-frekvenčni (angl. multisync) monitorji imajo lahko interval vrednosti ali nekaj z vejico ločenih intervalov. Monitorji s fiksnimi frekvencami potrebujejo seznam diskretnih vrednosti, na primer:

>         HorizSync    31.5, 35.2, 37.9, 35.5, 48.95

Priročnik za monitor bi moral navajati te vrednosti v razdelku o tehničnih specifikacijah. Če jih ne, vprašajte proizvajalca ali dobavitelja, od katerega ste dobili svoj monitor.

`VertRefresh` določa veljavne frekvence vertikalnega osveževanja v Hz (ali frekvence vertikalne sinhronizacije) za vaš monitor. Kot `HorizSync`, je tudi to lahko seznam diskretnih vrednosti. Priročnik za vaš monitor bi jih moral navajati.

`HorizSync` in `VertRefresh` se uporabljata le za dodatno preverjanje, da so ločljivosti vašega monitorja v pravilnem območju. To zmanjšuje možnost, da bi svoj monitor poškodovali z vsiljevanjem frekvence, za katero ni bil načrtovan.

Ukaz `ModeLine` se uporablja za določitev načinov ločljivosti za vaš monitor. Oblika je

> `ModeLine` ime frekvenca horiz-vrednosti vert-vrednosti

Tukaj je ime poljuben niz, ki ga boste uporabljali za sklicevanje na način ločljivosti pozneje v datoteki, frekvenca je točkovna frekvenca (angl. dot clock), povezana z načinom ločljivosti. Ta vrednost je določena v MHz. Je hitrost, s katero mora grafična kartica pri dani ločljivosti pošiljati pike na monitor. Vrednosti horiz-vrednosti in vert-vrednosti so dvakrat po štiri števila, ki določajo, kdaj naj elektronski top monitorja izstreli snop ter kdaj naj se vklopita horizontalni in vertikalni sinhronizacijski pulz.

Datoteka `VideoModes.doc`, vključena v distribucijo XFree86, podrobno opisuje, kako ugotoviti vrednosti `ModeLine` za vsak način ločljivosti, ki ga podpira vaš monitor. Vrednost frekvenca mora ustrezati eni ali več točkovnim frekvencam (angl. dot clock values), ki jih podpira vaša grafična kartica. Pozneje boste v datoteki `XF86Config` določili te frekvence.

Dve datoteki, `modeDB.txt` in `Monitors`, lahko vsebujeta informacije o vrednosti `ModeLine` za vaš monitor. Nahajata se v `/usr/X11R6/lib/X11/doc`.

Začnite z vrednostmi `ModeLine` za standardne frekvence monitorjev VESA, saj jih podpira večina monitorjev. `ModeDB.txt` vključuje frekvence za standardne ločljivosti VESA. Na primer, ta vnos

>     # 640x480@60Hz, neprepleteni način
>     # horizontalna sinhronizacija = 31,5 kHz
>     # Časi: H=(0.95us, 3.81us, 1.59us), V=(0.35ms, 0.064ms, 1.02ms)
>     #
>     # ime       frekvenca  horizontalni časa     vertikalni čas     zastavice
>      "640x480"     25.175  640  664  760  800    480  491  493  525

določa standardne frekvence VESA za grafični način 640×480. Ima točkovno frekvenco 25,175, ki jo mora podpirati vaša grafična kartica. To je opisano spodaj. Za vključitev te postavke v datoteko `XF86Config` uporabite vrstico

> `ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525`

Argument ime v vrstici `ModeLine` (`"640x480"`) je poljuben niz. Grafični načini se po dogovoru poimenujejo po ločljivostih, vendar je ime lahko teoretično katerakoli opisna oznaka.

Za vsako vrstico `ModeLine` strežnik preverja določitve načina in zagotavlja, da spadajo v obseg vrednosti, določenih za vrednosti `Bandwidth`, `HorizSync` in `VertRefresh`. Če ne, se strežnik pritoži, ko poskušate pognati X. Ena stvar je že ta, da točkovna frekvenca (angl. dot clock), ki jo uporablja ta grafični način, ne sme biti višja od vrednosti, ki se uporabljajo za pasovno širino `Bandwidth`. Vendar pa je v veliko primerih še vedno varno uporabljati način, ki ima rahlo višjo pasovno širino (angl. bandwidth) od tiste, ki jo podpira vaš monitor.

Če standardne frekvence osveževanja po standardu VESA ne delujejo (to boste vedeli šele potem, ko jih boste poskušali uporabljati), poglejte v datoteki `modeDB.txt` in `Monitors`, ki vključujeta posebne vrednosti grafičnih načinov za veliko tipov monitorjev. Iz teh vrednosti lahko ustvarite tudi vnose `ModeLine`. Prepričajte se, da boste uporabljali le vrednosti za vaš določeni monitor. Veliko 14 in 15-palčnih monitorjev ne podpira načinov višjih ločljivosti in pogosto ločljivost 1024×768 le pri nizkih točkovnih frekvencah. Če v teh datotekah ne morete najti načina visoke ločljivosti za vaš monitor, potem jih vaš monitor verjetno ne podpira.

Če ste popolnoma izgubljeni in ne morete najti vrednosti `ModeLine` za vaš monitor, sledite navodilom v datoteki `VideoModes.doc`, ki je vključena v distribucijo XFree86, in generirajte vrednosti iz specifikacij v priročniku za vaš monitor. Vsekakor se bodo vaše izkušnje razlikovale, ko boste poskušali na roko generirati vrednosti za `ModeLine`. A to je dobro ogledno mesto, če ne morete najti vrednosti, ki jih potrebujete. `VideoModes.doc` tudi opisuje obliko ukaza `ModeLine` in druge značilnosti strežnika XFree86 v krvave podrobnosti.

Končno, če dobite vrednosti `ModeLine`, ki so skoraj, a ne popolnoma, pravilne, boste morda sposobni malce spremeniti vrednosti in dobiti zaželeni rezultat. Na primer, če je slika na zaslonu XFree86 rahlo premaknjena ali se zdi, da se slika ,,vrti``, sledite navodilom v datoteki `VideoModes.doc` in popravite vrednosti. Prepričajte se, da boste preverili krmilnike na samem monitorju. V veliko primerih morate spremeniti horizontalno ali vertikalno velikost zaslona, ko se XFree86 požene, da osredinite sliko in jo spravite na pravo velikost.

¤ Ne uporabljajte frekvenc osveževanja monitorja ali vrednosti `ModeLine` za monitorje, različne od vašega modela. Če skušate poganjati monitor na frekvenci, za katero ni bil zasnovan, ga lahko poškodujete ali celo uničite.

Naslednji razdelek datoteke `XF86Config` je razdelek, imenovan `Device` (naprava), ki določa parametre vaše video kartice. Tukaj je primer.

>     Section "Device"
>           Identifier "#9 GXE 64"

>           # Še nič; te vrednosti bomo izpolnili pozneje.

>     EndSection

Ta razdelek definira lastnosti določene video kartice. Polje `Identifier` je poljuben opisni niz. Ta niz boste pozneje uporabili za sklicevanje na kartico.

Sprva vam v razdelek `Device` ni treba vključiti ničesar, razen polja `Identifier`. Pozneje bomo uporabili sam strežnik X za preizkus lastnosti video kartice in jih bomo nato vnesli v razdelek `Device`. Strežnik XFree86 je zmožen zaznavati nabore video čipov, RAMDAC in količine video RAM-a na plošči. To je opisano v razdelku 5.6.

Preden naredimo to, pa moramo končati s pisanjem datoteke `XF86Config`. Naslednji razdelek je `Screen`, ki določa kombinacijo monitorja/grafične kartice za uporabo z določenim strežnikom.

>      Section "Screen"
>          Driver     "Accel"
>          Device     "#9 GXE 64"
>          Monitor    "CTX 5468 NI"
>          Subsection "Display"
>              Depth      16
>              Modes      "1024x768" "800x600" "640x480"
>              ViewPort   0 0
>              Virtual    1024 768
>          EndSubsection
>      EndSection

Vrstica `Driver` določa strežnik X, ki ga boste uporabljali. Veljavne vrednosti za `Driver` (gonilnik) so:

- `Accel`: Za strežnike `XF86_S3`, `XF86_Mach32`, `XF86_Mach8`, `XF86_8514`, `XF86_P9000`, `XF86_AGX`, in `XF86_W32`;
- `SVGA`: Za strežnik `XF86_SVGA`;
- `VGA16`: Za strežnik `XF86_VGA16`;
- `VGA2`: Za strežnik `XF86_Mono`;
- `Mono`: Za ne-VGA monokromatske gonilnike v strežnikih `XF86_Mono` in `XF86_VGA16`.

Prepričajte se, da je `/usr/X11R6/bin/X` simbolna povezava na ta strežnik.

Vrstica `Device` določa identifikatorja (`Identifier`) razdelka naprave (`Device`), ki ustreza grafični kartici za uporabo s tem strežnikom. Zgoraj smo ustvarili razdelek `Device` z vrstico

>     Identifier "#9 GXE 64"

Torej, tukaj uporabljamo `"#9 GXE 64"` v vrstici `Device`.

Podobno, vrstica `Monitor` določa ime razdelka `Monitor`, ki naj se uporablja s tem strežnikom. Tukaj je `"CTX 5468 NI"` identifikator (`Identifier`), ki smo ga uporabili v zgoraj opisanem razdelku `Monitor`.

Podrazdelek o zaslonu, `Subsection "Display"`, definira različne lastnosti strežnika XFree86 glede na vašo kombinacijo monitorja/video kartice. Datoteka `XF86Config` podrobno opisuje vse izbire. Večina jih ni nujno potrebnih za usposobitev sistema.

Izbire, ki jih morate poznati, so:

- `Depth` (globina). Določa število barvnih ravnin; se pravi število bitov na piko. Navadno se vrednost `Depth` nastavi na 16. Za strežnik `VGA16` boste uporabili globino 4 in za monokromatski strežnik globino 1. Če uporabljate pospešeno grafično kartico z dovolj pomnilnika za podporo več bitom na piko, lahko nastavite vrednost `Depth` na 24 ali 32. Če imate težave z globinami, večjimi od 16, nastavite nazaj na 16 in poskušajte razhroščiti težavo pozneje.

- `Modes` (načini). To je seznam imen načinov, ki so bili definirani z uporabo navodil `ModeLine` v razdelku `Monitor`. V zgornjem razdelku smo uporabili vrednosti `ModeLine`, imenovane `"1024x768"`, `"800x600"` in `"640x480"`. Torej uporabljamo takšno vrstico `Modes`:

  >            Modes    "1024x768" "800x600" "640x480"

  Prvi način, naveden v tej vrstici, je privzeti način, ko se XFree86 zažene. Ko XFree86 teče, lahko preklapljate med načini, naštetimi tukaj, z uporabo tipk `Ctrl`-`Alt`-`+` in `Ctrl`-`Alt`-`-`, kjer sta `+` in `-` tipki na numeričnem delu tipkovnice.

  Ko na začetku nastavite XFree86, je morda najbolje, da jih nastavite tako, da uporabite grafične načine nižjih ločljivosti, denimo 640×480, ki radi delujejo z večino sistemov. Ko imate enkrat delujočo osnovno sestavo, lahko spremenite `XF86Config` za podporo višjim ločljivostim.

- `Virtual` (navidezno). Določi velikost navideznega namizja (angl. virtual desktop size). XFree86 lahko uporablja dodaten pomnilnik na vaši grafični kartici za razširitev velikosti namizja. Ko premikate kazalec miške na rob zaslona, se namizje premakne in prinese v pogled dodaten prostor. Tudi če poganjate strežnik z nižjimi ločljivosti, denimo 800×600, lahko nastavite `Virtual` na skupno ločljivost, ki jo lahko podpira vaša grafična kartica. Enomegabajtna grafična kartica lahko podpira 1024×768 z barvno globino 8 bitov na piko; dvomegabajtna kartica 1280×1024 z globino 8 ali 1024×768 z globino 16. Seveda vse področje ne bo vidno hkrati, a se lahko še vedno uporablja.

  Lastnost `Virtual` je precej omejena. Če želite uporabljati pravo navidezno namizje, vam `fvwm` in podobni okenski upravljalniki dovoljujejo, da imate velika navidezna namizja s skrivanjem oken in uporabo drugih tehnik namesto s shranjevanjem celotnega namizja v grafični pomnilnik. Glejte strani priročnika za `fvwm` za več podrobnosti o tem. Mnogi sistemi Linux uporabljajo `fvwm` kot privzeti okenski upravljalnik.

- `ViewPort` (ogledno okno). Če uporabljate izbiro `Virtual`, ki je opisana zgoraj, `ViewPort` določa koordinate zgornjega levega roba navideznega namizja, ko se XFree86 zažene. Pogosto se uporablja `ViewPort 0 0`. Če to ni določeno, se namizje osredini na navideznem prikazu namizja, kar vam morda ne bo po volji.

Obstaja še veliko drugih izbir za ta razdelek; glejte stran priročnika o `XF86Config` za popoln opis. V praksi te izbire niso nujno potrebne za začetno usposobitev delovanja XFree86.

# 5.6 Izpolnjevanje informacij o grafični kartici

Vaša datoteka `XF86Config` je zdaj, z izjemo popolnih informacij o grafični kartici, pripravljena. Za merjenje le-teh bomo uporabili strežnik X in jih dodali v `XF86Config`.

Namesto da bi merili te informacije v strežniku X, so v datotekah `modeDB.txt`, `AccelCards` in `Devices` navedene vrednosti za veliko kartic, ki jih lahko uporabite v datoteki `XF86Config`. Vse te datoteke se najdejo v `/usr/X11R6/lib/X11/doc`. Dodatno, obstajajo različne datoteke `README` za določene nabore čipov. Te datoteke bi morali pregledati za informacije o vaši grafični kartici in jih uporabiti (vrednosti o frekvencah (angl. clock values), tipu nabora čipov (angl. chip set type) in drugih izbirah) v datoteki `XF86Config`. Če kakšna informacija manjka, jo lahko poskušate izmeriti.

V večini teh primerov demonstriramo nastavitev grafične kartice #9 GXE 64, ki uporablja nabor čipov S3 in torej strežnik `XF86_S3`. Najprej ugotovite nabor grafičnih čipov na kartici. Poženite `SuperProbe` (najdete ga v `/usr/X11R6/bin`) in program vam bo povedal te podatke, a morate poznati ime nabora čipov, kot je znano strežniku X.

Zato poženite ukaz

> `# X -showconfig`

To izpiše imena naborov čipov, znanih strežniku X. (Navaja jih tudi stran priročnika za vsak strežnik X.) Na primer, pri pospeševalnem strežniku `XF86_S3` bi dobili:

>     XFree86 Version 3.1 / X Window System
>     (protocol Version 11, revision 0, vendor release 6000)
>     Operating System: Linux
>     Configured drivers:
>       S3: accelerated server for S3 graphics adaptors (Patchlevel 0)
>           mmio_928, s3_generic

Veljavni imeni naborov čipov za ta strežnik sta `mmio_928` in `s3_generic`. Stran priročnika za `XF86_S3` opisuje tadva nabora čipov in grafične kartice, ki ju uporabljajo. V primeru grafične kartice #9 GXE 64 je ustrezni nabor `mmio_928`.

Če ne veste, kateri nabor čipov se uporablja, ga lahko strežnik X zazna namesto vas. Za to poženite ukaz

> `# X -probeonly > /tmp/x.out 2>&1`

če uporabljate `bash` za svojo ukazno lupino. Če uporabljate `csh`, poskusite:

> `# X -probeonly &> /tmp/x.out`

Ta ukaz bi morali pognati, ko sistem ni obremenjen; se pravi, ko se na vašem sistemu ne dogaja nobena druga aktivnost. Ta ukaz tudi poskuša prepoznati točkovne frekvence vaše grafične kartice (angl. video card dot clocks), kot vidite spodaj, in obremenitev sistema lahko pokvari izračun.

Izhod zgornjega ukaza, v datoteki `/tmp/x.out`, bi moral vsebovati vrstice kot:

>     XFree86 Version 3.1 / X Window System
>     (protocol Version 11, revision 0, vendor release 6000)
>     Operating System: Linux
>     Configured drivers:
>     S3: accelerated server for S3 graphics adaptors (Patchlevel 0)
>           mmio_928, s3_generic

> Več vrstic je pobrisanih ...

>     (--) S3: card type: 386/486 localbus
>     (--) S3: chipset:   864 rev. 0
>     (--) S3: chipset driver: mmio_928

Tukaj vidimo, da sta dva veljavna nabora čipov za ta strežnik (v tem primeru, `XF86_S3`) `mmio_928` in `s3_generic`. Strežnik je poskušal zaznati in našel grafično kartico z naborom čipov `mmio_928`.

V razdelku `Device` datoteke `XF86Config` dodajte vrstico `Chipset`, ki ima ime nabora čipov, kot je določeno zgoraj. Na primer

>     Section "Device"
>             # Tukaj smo že imeli identifikator ...
>             Identifier "#9 GXE 64"
>             # Dodajte tole vrstico:
>             Chipset "mmio_928"
>     EndSection

Zdaj moramo ugotoviti gonilne točkovne frekvence (angl. driving clock frequencies), ki jih uporablja grafična kartica. Gonilna točkovna frekvenca ali točkovna frekvenca (angl. dot clock) je preprosto hitrost, s katero lahko grafična kartica pošilja pike na monitor. Kot je opisano zgoraj, vsaki ločljivosti monitorja ustreza pridružena točkovna frekvenca. Ugotoviti moramo, katere točkovne frekvence so dostopne na grafični kartici.

Najprej bi morali pogledati v zgoraj omenjeno dokumentacijo in pogledati, če so tam navedene frekvence kartice. Točkovne frekvence so navadno seznam 8 ali 16 vrednosti, od katerih so vse v MHz. Na primer, ko iščemo v datoteki `modeDB.txt`, vidimo vnos za grafično kartico Cardinal ET4000, ki je videti takole:

>     # čip   RAM   navidezno  točkovne frekvence      privzeti način  zastavice
>     ET4000  1024  1024 768   25 28 38 36 40 45 32 0  "1024x768"

Točkovne frekvence (angl. dot clocks) za to kartico so 25, 28, 38, 36, 40, 45, 32 in 0 MHz.

V razdelku `Devices` datoteke `XF86Config` dodajte vrstico `Clocks`, ki vsebuje seznam točkovnih frekvenc za vašo kartico. Na primer, za zgornje frekvence dodajte vrstico

>           Clocks 25 28 38 36 40 45 32 0

v razdelek `Devices` te datoteke, po vrstici `Chipset`.

¤ Vrstni red točkovnih frekvenc je pomemben! Ne preurejajte seznama in ne odstranjujte podvojenih vrednosti.

Če ne morete najti frekvenc vaše kartice, jih lahko strežnik X poskuša samodejno zaznati. Uporabite `X -probeonly`, kot je opisano zgoraj. Izhod bi moral vsebovati vrstice, ki so videti kot tale:

>     (--) S3: clocks:  25.18  28.32  38.02  36.15  40.33  45.32  32.00  00.00

Potem dodamo vrstico `Clocks`, ki vsebuje vse te vrednosti, kot so bile izpisane. V datoteki `XF86Config` lahko uporabite tudi več kot eno vrstico `Clocks`, če vse vrednosti (včasih se izpiše več kot 8 točkovnih frekvenc) ne gredo v eno vrstico. Spet se prepričajte, da boste obdržali enak vrstni red frekvenc, kot se izpiše.

¤ Pred uporabo `X -probeonly` se prepričajte, da v razdelku `Devices` ni vrstice `Clocks` (ali da je zakomentirana). Če obstaja vrstica `Clocks`, strežnik ne bo preizkušal različnih frekvenc - uporabil bo vrednosti, podane v `XF86Config`.

Nekatere video plošče uporabljajo programabilne oscilatorske čipe (angl. programmable clock chips). Glejte stran priročnika za vaš strežnik X ali datoteko `README`, ki opisuje vašo grafično kartico. Čip v bistvu dovoljuje strežniku X, da pove kartici, katere točkovne frekvence naj uporablja. Za grafične kartice, ki imajo oscilatorske čipe, morda ne boste našli seznama točkovnih frekvenc kartice v nobeni od zgornjih datotek. Ali pa bo seznam frekvenc, ki se izpišejo ob uporabi `X -probeonly` vseboval le eno ali dve diskretni frekvenčni vrednosti, ostale bodo dvojniki ali ničle. Ali pa strežnik X lahko javi izrecno opozorilo, da ima grafična kartica programabilni oscilatorski čip, kot:

> `(-) SVGA: cldg5434: Specifying a Clocks line makes no sense for this driver`

Ta primer je vzet iz strežnika `XF86_SVGA`, ki poganja kartico Cirrus Logic PCI.

Za kartice, ki uporabljajo programabilne oscilatorske čipe, uporabite vrstico `ClockChip` namesto vrstice `Clocks` v datoteki `XF86Config`. `ClockChip` je ime oscilatorskega čipa, kot ga uporablja grafična kartica; opisani so v priročniku za posamezni tip strežnika X. Na primer, v datoteki `README.S3` vidimo, da precej grafični kartic S3-864 uporablja oscilatorski čip ,,ICD2061A``, in bi morali uporabiti vrstico

> `ClockChip "icd2061a"`

namesto vrstice `Clocks` v datoteki `XF86Config`. Kot pri `Clocks` gre tudi ta vrstica v razdelek `Devices`, takoj po polju `Chipset`.

Podobno nekatere grafične kartice zahtevajo, da določite tip čipov RAMDAC v datoteki `XF86Config`. To se naredi z vrstico `Ramdac`. Stran priročnika o `XF86_Accel` opisuje to izbiro. Pogosto bo strežnik X pravilno zaznal tip RAMDAC.

Nekateri tipi grafični kartic zahtevajo, da določite več izbir v razdelku `Devices` datoteke `XF86Config`. Te izbire so opisane v strani priročnika za vaš strežnik kot tudi v različnih datotekah, kot sta `README.cirrus` in `README.S3`. Te izbire so omogočene z uporabo vrstice `Option`. Na primer, kartica #9 GXE 64 zahteva dve izbiri:

> `Option "number_nine"
> Option "dac_8_bit"`

Strežnik X lahko deluje tudi brez vrstic `Option`, vendar so te potrebne za izkoriščenje največje zmogljivosti kartice. Obstaja preveč izbir, da bi jih tukaj vse našteli. Različne so za vsako kartico. Če morate uporabiti eno od njih, vam bodo strani priročnika o strežniku X in različne datoteke v imeniku `/usr/X11R6/lib/X11/doc` povedale, katere so te izbire.

Ko končate, bi se vaš razdelek `Devices` moral glasiti nekako takole:

>     Section "Device"
>     # Razdelek ,Device` je le za #9 GXE 64
>     Identifier "#9 GXE 64"
>     Chipset "mmio_928"
>     ClockChip "icd2061a"
>     Option "number_nine"
>     Option "dac_8_bit"
>     EndSection

Obstajajo tudi druge izbire, ki bi jih morali vključiti v polje `Devices`. Stran priročnika o strežniku X priskrbi podrobnosti za pogumne.

# 5.7 Poganjanje XFree86

Z vašo nastavljeno datoteko `XF86Config`, lahko zaženete strežnik X in ga preizkusite. Spet se prepričajte, da je imenik `/usr/X11R6/bin` na vaši poti.

Ukaz za zagon strežnika XFree86 je

> `$ startx`

To je vmesnik do programa `xinit`. Zažene strežnik X in izvede ukaze v datoteki `.xinitrc` v vašem domačem imeniku. Datoteka `.xinitrc` je lupinski skript, ki vsebuje ukazne vrstice odjemnikov X, ki naj jih požene ob zagonu strežnika X. Če ta datoteka ne obstaja, se uporablja privzeti sistemski skript `/usr/X11R6/lib/X11/xinit/xinitrc`.

Preprosta datoteka `.xinitrc` je videti takole:

>     #!/bin/sh

>     xterm -fn 7x13bold -geometry 80x32+10+50 &
>     xterm -fn 9x15bold -geometry 80x34+30-10 &
>     oclock -geometry 70x70-7+7 &
>     xsetroot -solid midnightblue &

>     exec twm

Ta skript zažene dva odjemnika, `xterm` in `oclock`, in postavi barvo korenskega okna (ozadja) na barvo `midnightblue` (polnočno modro). Zažene okenski upravljalnik `twm`. Upravljalnik `twm` se izvede z lupinskim stavkom `exec`. To povzroči, da se proces `xinit` nadomesti s `twm`. Ko se proces `twm` konča, se strežnik X ustavi. Izhod iz `twm` lahko dosežete z uporabo korenskega menuja. Pritisnite in spustite prvi gumb miške na ozadju namizja. To prikaže dvižni menu, ki vam dovoljuje izbiro `Exit Twm`, izhod iz `twm`.

Prepričajte se, da se zadnji ukaz v `.xinitrc` začne z `exec` in da proces ni postavljen v ozadje (ni znaka ,,in``, ,,`&```, na koncu vrstice). Sicer se bo strežnik X ustavil takoj, ko bo zagnal odjemnike v datoteki `.xinitrc`.

Alternativno lahko zapustite X s pritiskom kombinacije `Ctrl`-`Alt`-`Backspace`. To neposredno pobije strežnik X in zapusti okenski sistem.

Zgornji primer je le preprosta nastavitev namizja. Spet priporočamo, da preberete knjigo, kot je The X Window System: A User's Guide (glejte dodatek A). Možnih variacij uporabe in nastavitve X je preveč, da bi jih tukaj opisovali. Strani priročnika o ukazih `xterm`, `oclock` in `twm` vam bodo priskrbele namige, kako začeti.

# 5.8 Ko zaidete v težave

Pogosto kaj ne bo povsem prav, ko boste prvič zagnali strežnik X. Vzrok je skoraj vedno v vaši datoteki `XF86Config`. Navadno so napačno nastavljene osvežitvene frekvence monitorja (angl. monitor timing values) ali točkovne frekvence grafične kartice (angl. video card dot clocks). Če je videti, da se zaslon vrti ali so robovi nejasni, to kaže, da gre za napačne frekvenčne vrednosti monitorja ali kartice. Prepričajte se tudi, da ste pravilno določili nabor čipov grafične kartice (angl. video card chip set) in izbire v razdelku `Device` datoteke `XF86Config`. Absolutno zagotovite, da uporabljate pravi strežnik X in da je `/usr/X11R6/bin/X` simbolna povezava nanj.

Če vse drugo odpove, poskusite pognati X ,,gole``; se pravi, z ukazom kot:

> `# X > /tmp/x.out 2>&1`

Potem lahko pobijete strežnik X (z uporabo `Ctrl`-`Alt`-`Backspace`) in pregledate vsebino `/tmp/x.out`. Strežnik X poroča o vsakršnih opozorilih in napakah - na primer, če vaša grafična kartica nima točkovne frekvence, ki bi ustrezala načinu, ki ga podpira vaš monitor.

Datoteka `VideoModes.doc`, ki je vključena v distribucijo XFree86, vsebuje mnogo namigov za uravnavanje vrednosti v vaši datoteki `XF86Config`.

Spomnite se, da lahko uporabljate `Ctrl`-`Alt`-`+` in `Ctrl`-`Alt`-`-` za preklop med grafičnimi načini, navedenimi v vrstici `Modes` razdelka `Screen` datoteke `XF86Config`. Če način najvišje ločljivosti ni videti v redu, poskusite preklopiti na nižjo ločljivost. To vam pove vsaj to, da tisti deli vaše nastavitve X delujejo pravilno.

Naravnajte vertikalno in horizontalno velikost ter osredinjenje z gumbi na vašem monitorju. V veliko primerih je potrebno nastaviti te gumbe, ko zaganjate X. Na primer, če se vam zdi, da je zaslon rahlo premaknjen na eno stran, lahko navadno to popravite z uporabo krmilnih gumbov ali drsnikov na monitorju.

Novičarska skupina Useneta `comp.windows.x.i386unix` je posvečena razpravam o XFree86. Morda bo koristno branje novičarskih skupin za sporočila, povezana z video nastavitvami. Lahko naletite na koga z enako težavo.

Obstajajo tudi vzorčne datoteke `XF86Config`, ki so jih prispevali uporabniki. Nekatere od teh so dostopne v arhivu `metalab.unc.edu` v imeniku `/pub/Linux/X11` in tudi drugje. Za vašo strojno opremo morda lahko najdete že napisano nastavitveno datoteko.

Naprej: 6. Vmreževanje Navzgor: Namestitev in začetek dela Nazaj: 4. Sistemsko upravljanje