FreeBSD kézikönyv
Előző | Fejezet 5. Az X Window System | Következő

# 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:

- A monitor jellemzői

- A videokártya chipkészlete

- A videokártya memóriájának mérete

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

A Xorg 7.4 verziójától kezdődően a számítógépünkhöz csatlakoztatott egerek és billentyűzetek HAL segítségével automatikusan felismerhetőek. Ennek megfelelően a `x11/xorg` port függőségeként telepítődni fognak a `sysutils/hal` és `devel/dbus` portok, viszont az `/etc/rc.conf` állományban a következő sorok hozzáadásával külön engedélyeznünk kell még ezeket:

    hald_enable="YES"
    dbus_enable="YES"

Ezeket a szolgáltatásokat még az Xorg beállítása előtt el kell indítanunk (a parancssorból manuálisan vagy a rendszer újraindításával).

Bizonyos hardvereszközök esetén az automatikus felismerés még nem működik megbízhatóan vagy nem jól állítja be az értékeket. Ilyen esetekben kézzel kell megadnunk a szükséges beállításokat.

> 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. Az Xorg 7.3 és azt megelőző változataiban ezt így tehetjük meg:

    # Xorg -config xorg.conf.new

A Xorg 7.4 és későbbi változataiban a próba eredménye egy fekete képernyő lesz, amely meglehetősen megnehezítheti az X11 helyes működésének megállapítását. A `-retro` kapcsoló használatával azonban továbbra is elérhetjük a korábbi verziókban megszokott viselkedési módot:

    # Xorg -config xorg.conf.new -retro

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 úgy szakíthatjuk meg, ha először a Ctrl+Alt+F`n` billentyűk együttes lenyomásával átváltunk valamelyik virtuális konzolra (például az F1 esetén az elsőre), majd megnyomjuk a Ctrl+C gombokat.

> Megjegyzés: Az Xorg korábbi változataiban a 7.3 verzióig bezárólag a Ctrl+Alt+Backspace billentyűkombinációval tudjuk leállítani a működését. Amennyiben erre továbbra is szükségünk lenne, a 7.4 és későbbi változatokban ezt úgy tudjuk engedélyezni, ha a begépeljük a következő parancsot egy X terminálablakban:

>     % setxkbmap -option terminate:ctrl_alt_bksp

> Egy másik lehetséges megoldás, ha a billenytűzet beállításához létrehozunk a `/usr/local/etc/hal/fdi/policy` könyvtárban egy konfigurációs állományt `x11-input.fdi` néven a hald számára. Ebben az állományban a következőknek kell szerepelnie:

>     <?xml version="1.0" encoding="ISO-8859-2"?>
>     <deviceinfo version="0.2">
>       <device>
>         <match key="info.capabilities" contains="input.keyboard">
>     	<merge key="input.x11_options.XkbOptions" type="string">terminate:ctrl_alt_bksp</merge>
>         </match>
>     </deviceinfo>

> A hald a számítógép újraindításával fogja majd beolvasni ezt az állományt.

> Ilyenkor az `xorg.conf.new` állomány `ServerLayout` vagy `ServerFlags` szekciójához vegyük még hozzá az alábbi sort:

>     Option  "DontZap"      "off"

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. Fontos megemlíteni, hogy az Xorg 7.4 változatától kezdődően az `xorg.conf` `InputDevice` szekcióit az eszközök automatikusan észlelt beállításai felülbírálják. A régebbi változatok viselkedését úgy tudjuk visszanyerni, ha a `ServerLayout` és `ServerFlags` szekciók valamelyikéhez hozzáadjuk az alábbi sort:

    Option "AutoAddDevices" "false"

Ezt követően a beviteli eszközök a lehetséges beállítási opciók (például a billentyűzet-kiosztás váltása) mentén a korábbiakban megszokott módon konfigurálhatóak.

> Megjegyzés: Ahogy arról korábban szó esett, a 7.4 verziótól kezdődően a hald magától érzékelni fogja a számítógépre csatlakoztatott billentyűzetet. Előfordulhat, hogy a billentyűzet típusa vagy éppen kiosztása nem lesz megfelelő. Ennek beállítására többnyire a népszerűbb munkakörnyezetek, mint például a GNOME, KDE vagy Xfce tartalmaznak külön segédprogramot. A setxkbmap(1) vagy a hald konfigurációs szabályával azonban akár közvetlenül is meg tudjuk változtatni a billentyűzethez társított tulajdonságokat.

> Például ha egy 102 gombos billentyűzetet szeretnénk használni francia kiosztással, akkor ehhez a `/usr/local/etc/hal/fdi/policy` könyvtárban kell létrehoznunk egy `x11-input.fdi` nevű állományt a hald részére. Ebben az állományban szerepeljenek az alábbi sorok:

>     <?xml version="1.0" encoding="ISO-8859-2"?>
>     <deviceinfo version="0.2">
>       <device>
>         <match key="info.capabilities" contains="input.keyboard">
>     	<merge key="input.x11_options.XkbModel" type="string">pc102</merge>
>     	<merge key="input.x11_options.XkbLayout" type="string">fr</merge>
>         </match>
>       </device>
>     </deviceinfo>

> Ha létezik már ilyen állományunk, akkor a billentyűzet megfelelő beállításához egyszerűen csak másoljuk ki a fenti sorokat és adjuk hozzá.

> Indítsuk újra a számítógépet, hogy a hald beolvassa az állományt.

> Ugyanezt egy X terminálból is kényelmesen el tudjuk végezni:

>     % setxkbmap -model pc102 -layout fr

> A paraméterként megadható billentyűzettípusokat és -kiosztásokat a `/usr/local/share/X11/xkb/rules/base.lst` állományban találhatjuk meg.

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.

## 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 figyelembe 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.

Előző | Tartalom | Következő
Az X11 telepítése | Fel | Betűtípusok használata az X11-ben

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