Gyakran Ismételt Kérdések a FreeBSD 6.`X`, 7.`X` és 8.`X` változatairól
Előző |  | Következő

# Fejezet 11. Az X Window System és a virtuális konzolok használata

11.1. Mi az X Window System?
11.2. FreeBSD alatt milyen X implementációk használhatóak?
11.3. Mégis miért vált szét a két X projekt?
11.4. A FreeBSD miért az Xorg változatát választotta alapértelmezettnek?
11.5. Hogyan lehet használni az X-et?
11.6. Az X indításakor egy “`KDENABIO failed (Operation not permitted)`” hiba keletkezik, közvetlenül a `startx` parancs kiadása után. Mi lehet ezzel kezdeni?
11.7. Miért nem működik X alatt az egér?
11.8. X alatt lehet használni görgős egeret?
11.9. Hogyan lehet távoli X szervereket elérni?
11.10. Mi az a virtuális konzol és hogyan lehet belőle többet létrehozni?
11.11. Hogyan lehet elérni a virtuális konzolokat X-ből?
11.12. Hogyan indítható el az XDM a rendszer indításakor?
11.13. Az `xconsole` indításakor miért jelenik meg a “`Couldn't open console`” hibaüzenet?
11.14. Régebben egyszerű felhasználóként is el lehetett indítani az XFree86 szervert. Most miért kell `root` felhasználóként indítani?
11.15. Miért viselkednek furcsán a PS/2-es egerek X alatt?
11.16. Miért nem működnek a MouseSystems által gyártott PS/2-es egerek?
11.17. Hogyan lehet megcserélni a gombokat az egéren?
11.18. Hogyan lehet betöltőképet telepíteni és hol találhatóak ilyen képek?
11.19. X alatt lehet használni a billentyűzeten található Windows billentyűket?
11.20. Hogyan lehet hardveres 3D gyorsítást használni az OpenGL®-hez?

11.1. Mi az X Window System?

Az X Window System (vagy gyakran csak `X11`) a UNIX® és UNIX-szerű operációs rendszereken, így többek közt a FreeBSD-n is az egyik leginkább elterjedt ablakozórendszer. A The X.Org Foundation felügyeli az X protokoll szabványait, azok aktuális referencia implementációival együtt. Ezek hivatalos megnevezése “Version 11 Release 7.5”, de ezt gyakran csak `X11` néven rövidítik.

Számos implementációja is elérhető több különböző architektúrára és operációs rendszerre. A protokoll szerver oldali funkcióit megvalósító programokat hivatalosan “X szervereknek” nevezik.

11.2. FreeBSD alatt milyen X implementációk használhatóak?

Kezdetben a FreeBSD alapértelmezett X implementációja az XFree86™ volt, amelyet a The XFree86 Project, Inc. tartott karban. Ez a változat volt használatban alapértelmezés szerint egészen a FreeBSD 4.10 és 5.2 verziójáig. Habár eközben az Xorg maga is karbantartotta a saját változatát, kizárólag csak referencia célokat használt és az évek során teljesen leromlott az állapota.

2004 elején azonban az XFree86 néhány korábbi fejlesztője elhagyta a projektjüket, mivel nem értettek egyet bizonyos kérdésekben, például a forráskód ütemét, a jövőbeni irányokat és egyéb személyes konfliktusokat illetően, és helyette közvetlenül az Xorg kódját kezdték el fejleszteni. Ekkor az Xorg hozzáigazította forrásait az utolsó XFree86 kiadás forrásaihoz (XFree86 4.3.99.903), majd megváltoztatta a licencelését. és beolvasztott több, korábban külön karbantartott változtatást, aminek eredményeképpen végül megszületett az X11R6.7.0. Egy különálló, de velük együttműködő projekt, a freedesktop.org (vagy röviden csak `fd.o`) jelenleg is az eredeti XFree86 források újraszervezésén dolgozik, aminek célja a napjainkban megjelenő grafikus kártyák minél nagyobb mértékű kihasználása (és ezáltal a rendszer gyorsítása), a rendszer modularisabbá tétele (ezáltal a rendszer karbantarthatóságának javítása, ami a kiadások gyorsabb előkészítését és könnyebb beállíthatóságát teszi lehetővé). Az Xorg a jövőben tervezi a `freedesktop.org` fejlesztéseit is átvenni.

2004 júliusától kezdődően a FreeBSD-CURRENT változatban az XFree86 helyett az Xorg lett az alapértelmezett X implementáció. A FreeBSD-ben azóta is alapból az Xorg X11 implementációja található meg.

A témával kapcsolatban a kézikönyv X11-ről szóló fejezetében kaphatunk részletesebb felvilágosítást.

11.3. Mégis miért vált szét a két X projekt?

Ezt a kérdést ez a GYIK nem tudja megválaszolni. Ezzel kapcsolatban viszont érdemes elolvasnunk a különböző levelezési listák archívumait szerte az interneten. Keressünk rá a válaszra a kedvenc keresőnkben, de ezzel a kérdéssel ne a FreeBSD levelezési listáit zavarjuk. Az is elképzelhető, hogy ennek a valós okait csak néhányan ismerik egész teljesen.

11.4. A FreeBSD miért az Xorg változatát választotta alapértelmezettnek?

Az Xorg fejlesztői azt ígérték, hogy gyorsabban fognak újabb verziókat kiadni, amelyek sokkal több újítást is fognak tartalmazni. Nos, amennyiben tényleg állják a szavukat, azzal mindenki jól jár. Emellett az ő változatuk továbbra is a hagyományos X licenc alatt érhető el, miközben az XFree86 licence ettől némileg eltér.

11.5. Hogyan lehet használni az X-et?

Amennyiben már egy meglévő rendszerre szeretnénk telepíteni az X-et, úgy érdemes a `x11/xorg` metaportot választanunk, amely magától feltelepíti az összes szükséges komponenst, vagy egyszerűen telepítsük az Xorg alkalmazást csomagból:

    # pkg_add -r xorg

Emellett az Xorg a sysinstall(8) használatával is telepíthető: válasszuk a Configure (Beállítások), Distributions (Terjesztések), végül a The X.Org Distribution (Az X.Org terjesztés) menüpontokat.

Az Xorg sikeres telepítése után kövessük a kézikönyv X11 beállításával foglalkozó szakaszában leírtakat.

11.6. Az X indításakor egy “`KDENABIO failed (Operation not permitted)`” hiba keletkezik, közvetlenül a `startx` parancs kiadása után. Mi lehet ezzel kezdeni?

A rendszerünkön valószínűleg túlságosan magas a biztonsági szint (`securelevel`) értéke. Ilyenkor az X-et nem tudjuk elindítani, mivel a működéséhez szüksége van a io(4) eszköz írására. Ezzel kapcsolatban az init(8) man oldal ad részletesebb útmutatást.

A kérdés tehát az, hogy mit kellene ezzel csinálni. Alapvetően két lehetőségünk van: vagy visszaállítjuk a biztonsági szintet nullára (ezt általában az `/etc/rc.conf` állományon keresztül lehet megtenni), vagy az xdm(1) programot még a rendszerindítás során elindítjuk (mielőtt a biztonsági szintet magasabbra állítanánk).

A K: 11.12. szolgál arról bővebb információval, hogy miként tudjuk használni az xdm(1) programot a rendszer indítása során.

11.7. Miért nem működik X alatt az egér?

Ha a syscons(4) (vagyis az alapértelmezett konzol) meghajtót használjuk, akkor be tudjuk úgy állítani a FreeBSD-t, hogy minden virtuális képernyőn látható legyen az egérkurzor. A syscons(4) egy `/dev/sysmouse` nevű virtuális eszköz támogatásával igyekszik elkerülni azt, hogy összeakadjon az X-szel. A valós egértől érkező összes eseményt a moused(8) démon írja folyamatosan a sysmouse(4) eszközre. Amennyiben az egerünket egy vagy több virtuális konzolon is használni akarjuk az X-szel együtt, akkor nézzük meg a K: 4.5.4. válaszát és állítsuk be annak megfelelően a moused(8) démont.

Ezt követően nyissuk meg az `/etc/X11/xorg.conf` állományt és gondoskodjunk róla, hogy a következő sorok feltétlenül szerepeljenek benne:

    Section "InputDevice"
       Option          "Protocol" "SysMouse"
       Option          "Device" "/dev/sysmouse"
    .....

Az Xorg 7.4 változatától kezdődően az `xorg.conf` állomány `InputDevice` szekciói nem kerülnek feldolgozásra a csatlakoztatott eszközök automatikus érzékelése esetén. A korábbi viselkedési mód visszaállításához vegyük fel a következő sort a `ServerLayout` vagy `ServerFlags` szekciók valamelyikébe:

    Option "AutoAddDevices" "false"

Néhányan inkább a `/dev/mouse` eszközt szeretik használni X alatt. Ha mi is így akarjuk használni, akkor a `/dev/mouse` eszközhöz hozzunk létre egy szimbolikus linket a `/dev/sysmouse` eszközre (lásd sysmouse(4)). Ezt úgy tudjuk megtenni, ha az `/etc/devfs.conf` állományba (lásd devfs.conf(5)) felvesszük a következő sort:

    link    sysmouse    mouse

A link maga közvetlenül a devfs(5) újraindításával keletkezik. Ehhez (`root` felhasználóként) a következő parancsot kell kiadnunk:

    # /etc/rc.d/devfs restart

11.8. X alatt lehet használni görgős egeret?

Igen.

Jelezni kell az X-nek, hogy ötgombos egerünk van. Ezt úgy tudjuk megcsinálni, ha az `/etc/X11/xorg.conf` állományba felvesszük a `Buttons 5` és `ZAxisMapping 4 5` sorokat az “InputDevice” szakaszba. Vegyük például, hogy az `/etc/X11/xorg.conf` állományunkban a következő “InputDevice” szakasz található.

Példa 11-1. Egy példa Xorg konfigurációs állomány “InputDevice” szakasza görgős egerekhez

    Section "InputDevice"
       Identifier      "Mouse1"
       Driver          "mouse"
       Option          "Protocol" "auto"
       Option          "Device" "/dev/sysmouse"
       Option          "Buttons" "5"
       Option          "ZAxisMapping" "4 5"
    EndSection

Példa 11-2. Egy egyszerű példa “.emacs” állomány görgős egerek (opcionális) használatához

    ;; görgős egér
    (global-set-key [mouse-4] 'scroll-down)
    (global-set-key [mouse-5] 'scroll-up)

11.9. Hogyan lehet távoli X szervereket elérni?

Biztonsági okokból a szerver alapértelmezés szerint nem engedélyezi, hogy egy távoli gépről ablakot lehessen nyitni rajta.

Ha szükségünk lenne erre a lehetőségre, akkor nem kell mást tennünk, mint az X-et a `-listen_tcp` paraméterrel indítani:

    % startx -listen_tcp

11.10. Mi az a virtuális konzol és hogyan lehet belőle többet létrehozni?

A virtuális konzolok röviden szólva arra alkalmasak, hogy egyetlen gépen is több párhuzamos munkamenetben tudjunk dolgozni, hálózat vagy X beállítása nélkül.

Amikor a rendszer elindul, a rendszerüzenetek után általában egy bejelentkező képernyő jelenik meg. Ekkor az első virtuális konzolon keresztül tudjuk megadni a felhasználói nevünket és jelszavunkat, majd nekilátni a munkának (vagy éppen a játszadozásnak).

Később aztán előfordulhat, hogy egy másik munkamenetet is szeretnénk elindítani, például előkeresni az éppen használt program dokumentációját vagy elolvasni a leveleinket, amíg FTP-n keresztül letöltünk egy állományt. Ehhez nem kell mást csinálnunk, csak le kell nyomni az Alt+F2 (tartsuk lenyomva az Alt billentyűt miközben megnyomjuk az F2 billentyűt) billentyűkombinációt és máris egy másik virtuális konzolon találjuk magunkat! Ha innen vissza szeretnénk térni az előző munkamenetbe, akkor nyomjuk le az Alt+F1 billentyűkombinációt.

A frissen telepített FreeBSD rendszerekben alapértelmezés szerint nyolc virtuális konzol engedélyezett. Az Alt+F1, Alt+F2, Alt+F3, stb. lenyomásával tudunk váltogatni köztük.

Ha ennél többet szeretnénk egyszerre használni, akkor nyissuk meg az `/etc/ttys` állományt (lásd ttys(5)) és a “Virtual terminals” részben vegyünk még fel a `ttyv8` eszköz után továbbiakat, egészen a `ttyvc` eszközig:

    # Írjuk át az eredeti ttyv8 bejegyzést az /etc/ttys
    # állományban és engedélyezzük.
    ttyv8   "/usr/libexec/getty Pc"         cons25  on secure
    ttyv9   "/usr/libexec/getty Pc"         cons25  on secure
    ttyva   "/usr/libexec/getty Pc"         cons25  on secure
    ttyvb   "/usr/libexec/getty Pc"         cons25  on secure

Akármennyit használhatunk belőlük. Ne felejtsük el azonban, hogy minél több virtuális terminálunk van, annál több erőforrásra lesz hozzájuk szükségünk. Ezt leginkább akkor érdemes megfontolni, ha 8 MB memóriánál kevesebbel rendelkezünk. Emellett még érdemes a `secure` értéket is az `insecure` értékre átállítani.

> Fontos: Ha X szervert is akarunk futtatni, akkor legalább egy virtuális konzolt szabadon (vagy kikapcsolva) kell hagynunk a számára. Így tehát, ha mind a tizenkét funkcióbillentyűre szeretnénk elindítani egy-egy virtuális konzolt, nos, akkor nincs szerencsénk -- ha X szervert is akarunk használni a gépen, akkor legfeljebb csak tizenegyet használhatunk belőlük.

Az egyes konzolokat legegyszerűbben úgy tudjuk letiltani, ha kikapcsoljuk ezeket. Például, ha az előbb említettek szerint tizenkét terminálunk van, és X-et akarunk futtatni, akkor a tizenkettedik terminál beállításait meg kell változtatnunk erről:

    ttyvb   "/usr/libexec/getty Pc"         cons25  on  secure

erre:

    ttyvb   "/usr/libexec/getty Pc"         cons25  off secure

Amennyiben a billentyűzetünkön csak tíz funkcióbillentyű található, elengedő ennyi is:

    ttyv9   "/usr/libexec/getty Pc"         cons25  off secure
    ttyva   "/usr/libexec/getty Pc"         cons25  off secure
    ttyvb   "/usr/libexec/getty Pc"         cons25  off secure

(Ezeket a sorokat akár ki is törölhetjük.)

Ezt követően a legegyszerűbben (és egyben a legtisztábban) úgy tudjuk aktiválni a virtuális konzolokat, ha újraindítjuk a rendszerünket. Ha viszont nem akarjuk ezt feltétlenül megtenni, akkor állítsuk le az X szervert, majd (`root` felhasználóként) adjuk ki az alábbi parancsot:

    # kill -HUP 1

Fontos, hogy a parancs végrehajtás előtt teljesen leállítsuk az X szervert, amennyiben az fut. Ha nem tesszük meg, akkor könnyen előfordulhat, hogy a `kill` parancs hatására lemerevedik vagy megáll a rendszerünk.

11.11. Hogyan lehet elérni a virtuális konzolokat X-ből?

A virtuális konzolokra a Ctrl+Alt+F`N` billentyűkombinációval lehet visszaváltani. Ennek megfelelően tehát a Ctrl+Alt+F1 kombinációval az első virtuális konzolra tudunk visszaváltani.

Ahogy visszajutottunk a szöveges konzolra, az Alt+F`n` billentyűkombinációval a megszokott módon tudunk váltani köztük.

Ha innen az X szerverre akarunk visszaváltani, akkor egyszerűen csak váltsunk arra a virtuális konzolra, ahol az X fut. Ha az X-et a paranccsorból indítottuk el (például a `startx` paranccsal), akkor az X nem arra a virtuális konzolra kapcsolódik automatikusan, amelyen a parancsot kiadtuk, hanem az utána következő, használatban még nem levő konzolra. Ha nyolc aktív virtuális terminálunk van, akkor az X a kilencediken fog futni, ezért ide az Alt+F9 lenyomásával tudunk visszatérni.

11.12. Hogyan indítható el az XDM a rendszer indításakor?

Alapvetően kétféle megközelítés létezik az xdm(1) elindításával kapcsolatban. Az egyik megközelítés szerint az `xdm` parancsot az `/etc/ttys` állományból (lásd ttys(5)) tudjuk megadni a megadott példa alapján, a másikban pedig egyszerűen az `rc.local` állományból (lásd rc(8)) vagy a `/usr/local/etc/rc.d` könyvtárban megadható `X` szkripttel. Mind a kettő ugyanazt képviseli, de vannak bizonyos helyzetek, ahol a kettő közül csak az egyik működik. Az eredmény mind a két esetben azonos, hatásukra az X egy grafikus bejelentkező képernyővel jelentkezik.

A ttys(5) módszernek van egy olyan előnye, hogy pontosan megadja, melyik virtuális terminálon fog futni az X és a szerver elindítását az init(8) programra bízza. Az rc(8) használata esetén viszont könnyű leállítani az `xdm` programot, ha netalán valamilyen gondunk adódna az X szerver indításakor.

Ha az rc(8) állományból töltöttük be, akkor az `xdm` futtatásához semmilyen paramétert nem kell megadni (például, hogy démonként fusson). Az xdm(1) azonban csak az összes getty(8) elindulása után indítható, máskülönben a két program ütközni fog és a konzol nem tud létrejönni. Ezt a legkönnyebben úgy lehet megakadályozni, ha az `xdm` indítása előtt várunk kb. 10 másodpercet a szkriptben.

Amennyiben az `/etc/ttys` állományból adjuk ki az `xdm` parancsot, úgy továbbra is fennáll az xdm(1) és a getty(8) ütközésének veszélye. Ezt például úgy tudjuk elkerülni, ha felvesszük a megfelelő virtuális terminál sorszámát a `/usr/local/lib/X11/xdm/Xservers` állományba:

    :0 local /usr/local/bin/X vt4

A fenti példában az X szervert a `/dev/ttyv3` eszközre irányitjuk. A számozást azonban eggyel el kell tolnunk, mert míg az X szerver egytől számozza a virtuális konzolokat, addig a FreeBSD rendszermagja nullától.

11.13. Az `xconsole` indításakor miért jelenik meg a “`Couldn't open console`” hibaüzenet?

Ha az X-et a `startx` paranccsal indítottuk el, akkor a `/dev/console` eszközre nem állítódnak be a szükséges engedélyek, ezért az `xterm -C` és az `xconsole` parancsok nem fognak működni.

Ez a konzolok engedélyeinek alapértelmezett beállítási módjától függ. Egy többfelhasználós rendszer esetén nem feltétlenül van szükségünk arra, hogy bármelyik felhasználó kedvére írhasson a rendszerkonzolra. Az fbtab(5) állomány segítségével engedélyezni tudjuk azon felhasználók számára, akik a helyi gépen, virtuális konzolon keresztül jelentkeznek be.

Dióhéjban az `/etc/fbtab` állományban (lásd fbtab(5)) kell kivennünk a következő sort a megjegyzésből:

    /dev/ttyv0 0600 /dev/console

Ennek köszönhetően bárki, aki az `/dev/ttyv0` eszközön keresztül jelentkezik be a rendszerbe, el tudja érni a konzolt.

11.14. Régebben egyszerű felhasználóként is el lehetett indítani az XFree86 szervert. Most miért kell `root` felhasználóként indítani?

Az X szerverek csak úgy képesek közvetlenül elérni a videokártyát, ha `root` felhasználóként futtatjuk ezeket. Az XFree86 régebbi (3.3.6 előtti) változatai az összes szervert úgy telepítették fel automatikusan, hogy a `root` felhasználó jogaival fussanak (setuid bittel). Ennek viszont megvan a maga nyilvánvaló biztonsági kockázata, hiszen az X szerverek általában nagy és bonyolult programok. Az XFree86 újabb változatai azonban már pontosan ebből kifolyólag nem állítanak be setuid `root` bitet a szerverekre.

Értelemszerűen az a megoldás nem fogadható el és nem is annyira biztonságos, hogy az X szervert `root` felhasználóként futtassuk. Kétféleképpen tudjuk egyszerű felhasználóként futtatni az X-et. Használhatjuk az `xdm` vagy más egyéb bejelentkeztető képernyő (mint például a `kdm`) megoldását, vagy az `Xwrapper` programot.

Az `xdm` egy grafikus bejelentkeztetésért felelős démon. Általában a rendszer indításakor aktiválódik, feladata a felhasználók hitelesítése és a hozzájuk tartozó munkamenetek elindítása. Lényegében a getty(8) és a login(1) grafikus megfelelője. Az `xdm` démonnal kapcsolatban még az XFree86 dokumentációját, illetve a GYIK-ban ezt a kérdést érdemes elolvasnunk.

Az `Xwrapper` az X szerverhez tartozó burkolóprogram (wrapper). Ez egy apró segédprogram, amely lehetővé teszi az X szerver manuális indítását miközben igyekszik ügyelni a biztonságra is. Elvégez néhány alapvető ellenőrzést a paramétereken, és ha megfelelőnek találja ezeket, akkor elindítja a megfelelő X szervert. Ha valamiért nem akarunk bejelentkeztető képernyőt indítani, akkor ezt pontosan nekünk találták ki! Ha telepítettük a teljes Portgyűjteményt, akkor a `/usr/ports/x11/wrapper` portban találjuk meg.

11.15. Miért viselkednek furcsán a PS/2-es egerek X alatt?

Valószínűleg az egér és az egérmeghajtó kiesett a szinkronból.

Nagyon ritkán előfordul, hogy a meghajtó hibásan szinkronizációs hibát jelez, és ekkor a rendszermag a következő üzenetet küldi:

    psmintr: out of sync (xxxx != yyyy)

Közben természetesen azt tapasztaljuk, hogy az egerünk nem működik rendesen.

Ha ilyen történne velünk, akkor tiltsuk le a meghajtó szinkronizáció ellenőrzéséért felelős rutinjait. Ezt úgy tudjuk megtenni, ha a meghajtónak beállítjuk a `0x100` értéket. Ehhez a rendszertöltő parancssorában a `-c` kapcsolóval tudjuk behozni a UserConfig részt:

    boot: -c

Ezután a UserConfig parancssorában gépeljük be a következőt:

    UserConfig> flags psm0 0x100
    UserConfig> quit

11.16. Miért nem működnek a MouseSystems által gyártott PS/2-es egerek?

Kaptunk néhány visszajelzést arra vonatkozóan, hogy a MouseSystems által gyártott PS/2-es egerek bizonyos típusai csak abban az esetben működnek rendesen, ha “nagy felbontású” módban használjuk ezeket. Minden más esetben az egér néha fel-felugrik a képernyő bal felső sarkába.

Úgy tudjuk nagy felbontású módban használni az egerünket, ha a PS/2-es egérmeghajtónak a `0x04` beállítást adjuk meg. Ehhez a rendszertöltő parancssorában gépeljük be a `-c` kapcsolót:

    boot: -c

Ahogy bejön a UserConfig parancssora, gépeljük be a következőt:

    UserConfig> flags psm0 0x04
    UserConfig> quit

Az előző részben olvashatunk egy másik hasonló egeres problémáról.

11.17. Hogyan lehet megcserélni a gombokat az egéren?

Futtassuk le a `xmodmap -e "pointer = 3 2 1"` parancsot az `.xinitrc` vagy `.xsession` állományunkból.

11.18. Hogyan lehet betöltőképet telepíteni és hol találhatóak ilyen képek?

Erre a kérdésre részletes választ a FreeBSD kézikönyv Rendszerbetöltő képernyők című szakaszában kapunk.

11.19. X alatt lehet használni a billentyűzeten található Windows billentyűket?

Igen. Ehhez mindössze az xmodmap(1) használatával meg kell adni a hozzájuk tartozó funkciót.

Feltéve, hogy mindegyik “Windows” billentyűzet szabványos, a következő billentyűkódok tartoznak ehhez a három plusz gombhoz:

- 115 -- Windows billentyű, a bal oldali Ctrl és Alt billentyűk között

- 116 -- Windows billentyű, az AltGr mellett jobbra

- 117 -- Menü gomb, a jobb oldali Ctrl mellett balra

Például így lehet beállítani a bal oldali Windows billentyűt vesszőre:

    # xmodmap -e "keycode 115 = comma"

A változatatások valószínűleg csak akkor fognak életbelépni, ha újraindítjuk az ablakkezelőnket.

Ha azt szeretnénk, hogy a Windows billentyűkhöz rendelt funkciók az X indításakor automatikusan beállítódjanak, akkor tegyük az `xmodmap` parancs hívását az `~/.xinitrc` állományunkba. Sokkal jobban járunk viszont, ha ehelyett inkább az `~/.xmodmaprc` állományunkba vesszük fel az `xmodmap` beállításait, soronként egyesével, és a következő sor tesszük az `~/.xinitrc` állományunkba:

    xmodmap $HOME/.xmodmaprc

Például ezeket a gombokat be lehet állítani az F13, F14 és F15 billentyűkre is. Ezekre aztán az alkalmazásokban vagy az ablakkezelőben további hasznos funkciókat tudunk beállítani.

Ehhez a következőt kell megadnunk az `~/.xmodmaprc` állományban:

    keycode 115 = F13
    keycode 116 = F14
    keycode 117 = F15

Ha például az `x11-wm/fvwm2` ablakkezelőt használjuk, akkor az F13 gombra be tudjuk állítani a kurzor alatt álló ablak lekicsinyítésére (vagy visszanagyítására); az F14 billentyűvel az előtérbe tudjuk hozni a kurzor alatt levő ablakot, vagy ha már elöl van, akkor hátra tudjuk rakni; az F15 gomb előhozza a munkakörnyezet (alkalmazás) menüjét még olyankor is, amikor a kurzor nincs is az asztalon. Ez utóbbi abban az esetben lehet hasznos, amikor az asztal egyáltalán nem látható (és a billentyűn látható rajz pontosan is ezt mutatja).

A következő beállítások valósítják meg az imént említett funkciókat az `~/.fvwmrc` állományon belül:

    Key F13        FTIWS    A        Iconify
    Key F14        FTIWS    A        RaiseLower
    Key F15        A        A        Menu Workplace Nop

11.20. Hogyan lehet hardveres 3D gyorsítást használni az OpenGL®-hez?

Az Xorg pillanatnyilag használt verziójától és a videokártyánktól függ, hogy tudunk-e 3D gyorsítást alkalmazni. Ha nVidia kártyánk van, akkor a portok közül telepíteni tudjuk a FreeBSD-hez készített bináris meghajtót:

- A legújabb nVidia-kártyákat az `x11/nvidia-driver` port támogatja.

- A GeForce2 MX/3/4 sorozatú nVidia-kártyákat a meghajtó 96XX változata támogatja, amely az `x11/nvidia-driver-96xx` portból telepíthető.

- Az ettől is régebbi kártyák, például a GeForce vagy Riva TNT esetén a meghajtó 71XX változata javasolt, amely az `x11/nvidia-driver-71xx` porton keresztül érhető el.

Az nVidia honlapján részletes leírást találhatunk arról, hogy melyik kártyát melyik meghajtó ismeri. Ez az információ a következő címen érhető el: http://www.nvidia.com/object/IO_32667.htm.

A Matrox G200/G400 esetén az `x11-servers/mga_hal` portot érdemes megnéznünk.

ATI Rage 128 és Radeon kártyák számára a ati(4), r128(4) és radeon(4) man oldalakat ajánljuk.

3dfx Voodoo 3, 4, 5 és Banshee kártyák számára az `x11-servers/driglide` port áll rendelkezésre.

Előző | Tartalom | Következő
Rendszeradminisztráció |  | Hálózatok

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