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.
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.
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+Fn
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.
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. szakasz - Az egér beállításait 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.
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.
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.
Az Intel(R) 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á.
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):
<questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon:
<gabor@FreeBSD.org>.