5.4. Az X11 beállítása

Írta: Christopher Shunway.

5.4.1. Mielőtt nekilátnánk

Az X11 beállítása előtt a célrendszer következő adataira lesz szükségünk:

Az X11 a monitor jellemzőiből állapítja meg, hogy milyen felbontásban és frissítési frekvenciával működtesse azt. Ezek általában a monitorhoz tartozó dokumentációból vagy a gyártó honlapjáról deríthetőek ki. Igazából két értékre van szükségünk: a függőleges és a vízszintes frissítési frekvenciára.

A videokártya chipkészlete határozza meg, hogy az X11 melyik meghajtóján keresztül kommunikál a grafikus hardverrel. Ez a legtöbb chipkészlet esetén magától megállapítható, de ennek ellenére mégis jó tisztában lenni ezzel arra az esetre, ha az automatikus felismerés mégsem működne.

A grafikus kártya memóriájának mérete határozza meg a rendszer által kihasználható felbontást és színmélységet. Ezt fontos tudunk ahhoz, hogy ismerjük a rendszerünk korlátait.

5.4.2. Az X11 beállítása

Az Xorg 7.3-as változatában gyakran mindenféle konfigurációs állomány használata nélkül egyszerűen csak adjuk ki a következő parancsot:

% startx

Amennyiben ez nem működne, vagy az alapértelmezések nem felelnek meg számunkra, az X11 kézzel is beállítható.

Megjegyzés: A különböző munkakörnyezetek, mint például a GNOME, a KDE vagy éppen az XFce általában tartalmaznak olyan segédprogramokat, amelyekkel a felhasználó könnyedén be tudja állítani a megjelenítés paramétereit, többek közt a képernyő felbontását. Tehát ha az alapértelmezések nem megfelelőek, viszont használni akarunk majd valamilyen munkakörnyezetet is, akkor egyszerűen csak telepítsük az adott környezetet és a hozzátartozó eszközön keresztül állítsuk be a megjelenítést.

Az X11 beállítása egy többlépcsős folyamat. Első lépésünk egy alap konfigurációs állomány összeállítása lesz. Rendszeradminisztrátorként adjuk ki az alábbi parancsot:

# Xorg -configure

Ennek segítségével az X11 xorg.conf.new néven létrehozza a konfigurációs állomány vázát a /root könyvtárban (akár a su(1) parancsot használjuk, akár közvetlenül így jelentkezünk be, az így örökölt rendszeradminisztrátori szerepkör maga után vonja a $HOME könyvtár átállítását is). Az X11 megpróbálja megkeresni a célrendszerben elérhető grafikus eszközöket, és létrehozni egy olyan konfigurációs állományt, amely az észlelt eszközökhöz tartozó meghajtókat tölti be.

A következő lépésünk legyen az imént létrehozott beállítás kipróbálása, amin keresztül ellenőrizhetjük, hogy az Xorg tényleg képes működni a célrendszer grafikus eszközén. Ehhez a következőt kell begépelnünk:

# Xorg -config xorg.conf.new

Ha ezután a képernyőn egy fekete-fehér rácsot látunk egy X alakú egérmutatóval a közepén, akkor jó a beállítás. A próbát a Ctrl+Alt+Backspace billentyűk együttes lenyomásával szakíthatjuk meg.

Megjegyzés: Ha az egér még nem működne, mindenképpen be kell állítanunk a továbblépés előtt. Ezzel kapcsolatban a FreeBSD telepítéséről szóló fejezetben levő 2.10.10 Szakaszt ajánljuk elolvasásra.

Ezután az ízlésünknek megfelelően hangoljuk be az xorg.conf.new állományt, nyissuk meg egy szövegszerkesztőben, például az emacs(1)-ben vagy az ee(1)-ben. Elsőként adjuk meg a célrendszerhez csatlakoztatott monitor frekvenciájára vonatkozó adatokat. Ezek általában a függőleges és a vízszintes frissítés értékei, melyeket az xorg.conf.new állomány "Monitor" szakaszában (Section) kell feltüntetni:

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "A monitor gyártója"
        ModelName    "A monitor típusa"
        HorizSync    30-107
        VertRefresh  48-120
EndSection

A konfigurációs állományból valószínűleg csak a HorizSync és VertRefresh kulcsszavak fognak hiányozni. Amennyiben ez tényleg így lenne, a megfelelő vízszintes frissítés értékét a HorizSync kulcsszó után, a hozzátartozó függőleges frissítés értékét pedig a VertRefresh kulcsszó után kell hozzátennünk a szakaszhoz. Az iménti példában már megadtuk a célrendszer monitorának frissítési értékeit.

Az X megengedi, hogy DPMS (Energy Star) energiagazdálkodási szabványt ismerő monitorok lehetőséget is kihasználjuk. A xset(1) program vezérli a monitorok ki- és bekapcsolását, és segítségével készenléti vagy energiatakarékos üzemmódba tudjuk helyezni azokat. Ha engedélyezni kívánjuk a monitorunk DPMS lehetőségeit, egyszerűen csak tegyük hozzá az alábbi sort a monitorunkat leíró szakaszhoz:

        Option       "DPMS"

Ha már a xorg.conf.new konfigurációs állomány szerkesztésével vagyunk elfoglalva, válasszuk ki számunkra kedvező alapértelmezett felbontást és színmélységet is. Ezt a "Screen" (Képernyő) nevű szakaszban tehetjük meg:

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultDepth 24
        SubSection "Display"
                Viewport  0 0
                Depth     24
                Modes     "1024x768"
        EndSubSection
EndSection

A DefaultDepth kulcsszó után adjuk meg a rendszer alapértelmezett színmélységét. Ezt később az Xorg(1) -depth paraméterével bírálhatjuk felül a parancssorból. A Modes kulcsszó után jelennek meg azok a felbontások, amelyekben az adott színmélység elérhető. Itt csak olyan VESA szabványú módok jelenhetnek meg, amelyet a célrendszer grafikus eszköze is támogat. A fenti példában az alapértelmezett színmélység képpontonként huszonnégy bit, és ebben a színmélységben az elfogadott felbontás 1024-szer 768 pixel.

Végezetül mentsük el a szerkesztett konfigurációs állományt és próbáljuk ki a korábban leírt módszer szerint.

Megjegyzés: A hibakeresés során maguk az X11 naplóállományai is hasznos eszköznek bizonyulhatnak, mivel ezek minden olyan eszközről tartalmaznak információt, amelyekhez az X11 szervernek sikerült csatlakoznia. Az Xorg naplóit a /var/log/Xorg.0.log elnevezést követő állományokban találjuk meg. A konkrét naplók nevei Xorg.0.log-tól Xorg.8.log-ig és így tovább terjedhetnek.

Ha minden a legnagyobb rendben haladt eddig, a konfigurációs állományt el kell tennünk egy olyan központi helyre, ahol az Xorg(1) képes lesz majd megtalálni. Ez a hely általában az /etc/X11/xorg.conf vagy a /usr/local/etc/X11/xorg.conf.

# cp xorg.conf.new /etc/X11/xorg.conf

Az X11 beállítását ezzel befejeztük. Az Xorg innentől elindítható a startx(1) segédprogram vagy az xdm(1) használatával.

Megjegyzés: Létezik egy grafikus beállítást lehetővé tevő eszköz is, az xorgcfg(1), amely az X11 rendszer része. Használata során a megfelelő meghajtók és beállítások kiválasztásával interaktívan megadhatjuk a rendszerünk jellemzőit. Ezt a programot az xorg -textmode parancs kiadásával hívhatjuk meg a konzolról. Bővebb információkat a xorgcfg(1) man oldalán találunk.

Emellett találhatunk még egy xorgconfig(1) nevezetű segédprogramot is. Ez egy szöveges felületű, kevésbé felhasználóbarát program, azonban olyan esetekben is működhet, amikor más programok már nem.

5.4.3. Témák idősebbeknek és haladóknak

5.4.3.1. Az i810 grafikus chipkészlet beállítása

Az Intel® i810 integrált chipkészletének meghajtásához szükségünk lesz az agpart nevű AGP programozási felületre az X11-ben. Erről az agp(4) meghajtó man oldalán olvashatuk többet.

Ennek segítségével ezt a hardvert is a többi grafikus kártyához hasonlóan állíthatjuk be. Vegyük figyelmbe azonban, hogy az agp(4) meghajtót beépítve nem tartalmazó rendszermaggal futó rendszerekben a kldload(8) paranccsal utólag már nem tudjuk betölteni! Ezt a meghajtót már a rendszerindítás során be kell tudnunk tölteni: vagy a rendszermagba fordítjuk, vagy pedig a /boot/loader.conf állományban hivatkozunk rá.

5.4.3.2. Widescreen Flat Panel monitorok használata

Ebben a részben feltételezünk némi tapasztalatot a beállítások terén. Amennyiben a szabványos konfigurációs eszközök csődöt mondtak a beállítás során, magukból a naplóállományokból is kinyerhetünk elegendő információt ahhoz, hogy működésre bírjuk rendszerünket. Ehhez mindenképpen legyen kéznél egy szövegszerkesztő!

A jelenlegi szélesvásznú (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+ és társai) formátumok a 16:10-es és 10:9-es képarányokat ismerik, amik néha gondot okozhatnak. Például a 16:10-es képarány felbontásai:

  • 2560x1600

  • 1920x1200

  • 1680x1050

  • 1440x900

  • 1280x800

Bizonyos szempontból egyszerűen csak a fenti felbontások valamelyikét kell felvenni a "Screen" szakasz Mode sorába, valahogy így:

Section "Screen"
Identifier "Screen0"
Device     "Card0"
Monitor    "Monitor0"
DefaultDepth 24
SubSection "Display"
	Viewport  0 0
	Depth     24
	Modes     "1680x1050"
EndSubSection
EndSection

Az Xorg elég intelligens ahhoz, hogy a szélesvásznú megjelenítéssel kapcsolatos információkat lekérje a monitor I2C/DDC adatai közül, ezért meg tudja állapítani, hogy az eszköz milyen frissítési frekvenciákat és felbontásokat bír el.

Ha az alábbi ModeLine értékek nem szerepelnének a meghajtókban, akkor velük kapcsolatban egy kicsit súgnunk kell az Xorg-nak. A /var/log/Xorg.0.log átrágásával elegendő információt tudunk gyűjteni ahhoz, hogy manuálisan vegyünk fel használható ModeLine értékeket. Nem kell mást tennünk, mint ehhez hasonló sorokat keresnünk:

(II) MGA(0): Supported additional Video Mode:
(II) MGA(0): clock: 146.2 MHz   Image Size:  433 x 271 mm
(II) MGA(0): h_active: 1680  h_sync: 1784  h_sync_end 1960 h_blank_end 2240 h_border: 0
(II) MGA(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1089 v_border: 0
(II) MGA(0): Ranges: V min: 48  V max: 85 Hz, H min: 30  H max: 94 kHz, PixClock max 170 MHz

Ezeket nevezik EDID-adatoknak (Extended display identification data, vagyis “bővített megjelenítési azonosító adatoknak”). Belőlük a megfelelő ModeLine sor létrehozása csupán annyiból áll, hogy a számértékeket a megfelelő sorrendbe tesszük:

ModeLine <name> <clock> <4 horiz. timings> <4 vert.  timings>

Ezáltal a példában látott "Monitor" szakasz ModeLine sora így fog kinézni:

Section "Monitor"
Identifier      "Monitor1"
VendorName      "Bigname"
ModelName       "BestModel"
ModeLine        "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
Option          "DPMS"
EndSection

Miután végrehajtottuk ezeket az egyszerű beállítási lépéseket, az X most már valószínűleg el fog indulni az új szélesvásznú monitorunkon.

Ha kérdése van a FreeBSD-vel kapcsolatban, a következő címre írhat (angolul): <freebsd-questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon: <gabor@FreeBSD.org>.