3.2. Virtuális konzolok és terminálok
Vissza | 3. fejezet - A UNIX alapjai | Előre

## 3.2. Virtuális konzolok és terminálok

A FreeBSD számos módon használható. Ezek közül az egyik az, ha parancsokat gépelünk be a szöveges terminálon. Így érhető el egyszerűen a UNIX® operációs rendszer rugalmasságának és erejének jelentős része. Ebben a szakaszban megtudhatjuk, mik azok a „terminálok” és „konzolok” és miként tudjuk ezeket FreeBSD alatt használni.

### 3.2.1. A konzol

Ha nem állítottuk volna be, hogy a FreeBSD indulása során automatikusan induljon el a grafikus felület is, akkor a rendszer egy bejelentkező képernyőt fog mutatni közvetlenül a rendszerindítás befejeződése után. Ekkor valami ilyesmit kell majd látnunk:

    Additional ABI support:.
    Local package initialization:.
    Additional TCP options:.

    Fri Sep 20 13:01:06 EEST 2002

    FreeBSD/i386 (pc3.example.org) (ttyv0)

    login:

Egyes rendszereken ugyan némileg eltérhetnek az üzenetek, de hasonlót kell látnunk. Minket most az utolsó két sor érdekel. Az utolsó előtti sorban ez olvasható:

    FreeBSD/i386 (pc3.example.org) (ttyv0)

Ez a sor arról értesít minket, hogy a rendszerünk éppen most indult el: egy „FreeBSD” konzolt látunk, amely egy Intel® x86 architektúrájú processzoron fut [1]. A gépünk neve (mivel minden UNIX®-os gép rendelkezik egy névvel) `pc3.example.org`, és ennek a rendszerkonzolját látjuk most éppen — a `ttyv0` terminált.

Végezetül az utolsó sor mindig:

    login:

Ez az a rész, ahova a FreeBSD-be történő bejelentkezéshez meg kell adnunk a „felhasználói nevünket” (user name). A következő szakaszban erről olvashatunk.

### 3.2.2. Bejelentkezés a FreeBSD-be

A FreeBSD egy többfelhasználós, többfeladatos rendszer. Így hívják hivatalosan azokat a rendszereket, amelyeket többen tudnak használni és egyetlen számítógépen egyszerre rengeteg programot képesek futtatni.

Minden többfelhasználós rendszernek valamilyen módon meg kell tudnia különböztetnie egy „felhasználóját” a többitől. A FreeBSD-ben (és minden más UNIX®-szerű operációs rendszerben) ezt úgy érik el, hogy a programok futtatása előtt minden felhasználónak „be kell jelentkeznie” a rendszerbe. Minden felhasználó rendelkezik egy egyedi névvel (ez a „felhasználói név”) és ehhez egy titkos kulcssal (ez a „jelszó”). A FreeBSD a programok futtatásához ezt a kettőt fogja elkérni a felhasználótól.

Egyből miután a FreeBSD elindult és befejezte a rendszerindításhoz használt szkriptjeinek lefuttatását [2], ez a kijelzés (vagy más néven „prompt”) fog megjelenni és kér egy érvényes felhasználói nevet:

    login:

A példa kedvéért most tegyük fel, hogy a felhasználói nevünk `pgj`. Az iménti prompthoz írjuk be, hogy `pgj` és nyomjuk le az Enter billentyűt. Ezt követően meg kell jelennie egy másik promptnak is, amely egy „jelszót” (password) kér:

    login: pgj
    Password:

Most pedig gépeljük be `pgj` jelszavát és nyomjunk utána egy Enter billentyűt. Vigyázzunk, hogy a jelszót nem látjuk a beírás során! Emiatt most ne aggódjunk. Ezzel kapcsolatban elegendő csak annyit tudni, hogy mindez biztonsági megfontolásokból történik.

Amennyiben jól adtuk meg a jelszavunkat, sikeresen bejelentkezünk a FreeBSD rendszerébe és készen állunk az összes elérhető parancs kipróbálására.

Bejelentkezés után a MOTD (message of the day) vagy más néven „a nap üzenete” jelenik meg, amelyet a parancssor követ (egy `#`, `$` vagy `%` jel). Innen tudhatjuk meg, hogy sikerült bejelentkeznünk.

### 3.2.3. Több konzol használata

A UNIX® parancsokat egy konzolon is szépen ki tudjuk adni, de a FreeBSD egyszerre ugyebár több programot is tud futtatni. A parancsok megadásához viszont egyetlen konzol használata elég nagy pazarlás lenne, hiszen egy olyan operációs rendszer mint a FreeBSD, tucatnyi programot képes futtatni egy időben. Ebben az esetben jelenthetnek számunkra segítséget a „virtuális konzolok”.

A FreeBSD beállítható úgy, hogy sok-sok különféle virtuális konzolt ajánljon fel számunkra. A virtuális konzolok között a billentyűzeten a megfelelő gombok lenyomásával tudunk váltani. Mindegyik konzolnak megvan a saját kimeneti csatornája, és a virtuális konzolok közti váltás folyamán a FreeBSD gondoskodik a billentyűzetről érkező bemenet, valamint a monitorra irányított kimenet megfelelő kezeléséről.

A konzolok közti váltásra a FreeBSD külön billentyűkombinációkat tart fenn [3]. A FreeBSD-ben a különböző virtuális konzolok közti váltásra az Alt+F1, Alt+F2 billentyűket, az Alt+F8 billentyűkombinációval bezárólag használhatjuk.

A konzolok közti váltogatás során a FreeBSD ügyel a képernyő tartalmának elmentésére és visszaállítására. Ennek eredményeképpen „úgy látszik”, mintha több „virtuális” képernyőn és billentyűzeten adnánk parancsokat a FreeBSD-nek.

### 3.2.4. Az `/etc/ttys` állomány

A FreeBSD alapértelmezés szerint nyolc virtuális konzollal indul. Ez azonban nem egy előre rögzített érték, hiszen könnyedén testreszabhatjuk úgy a telepített rendszerünket, hogy több vagy esetleg kevesebb virtuális konzollal induljon el. A virtuális konzolok száma és azok pontos beállítása az `/etc/ttys` állományon keresztül adható meg.

A FreeBSD virtuális konzoljait tehát az `/etc/ttys` állomány megfelelő módosításával tudjuk behangolni. Itt minden egyes olyan sor, amely nem megjegyzés (vagyis azok a sorok, amelyek nem a `#` karakterrel kezdődnek), tartalmazza az egyes terminálok vagy virtuális konzolok beállításait. Az állomány a FreeBSD telepítésében szereplő, alapértelmezett változata kilenc virtuális konzol konfigurációját tartalmazza, amelyek közül nyolc aktív. Ezek a `ttyv` résszel kezdődő sorok:

    # name  getty                           type    status          comments
    #
    ttyv0   "/usr/libexec/getty Pc"         cons25  on  secure
    # Virtual terminals
    ttyv1   "/usr/libexec/getty Pc"         cons25  on  secure
    ttyv2   "/usr/libexec/getty Pc"         cons25  on  secure
    ttyv3   "/usr/libexec/getty Pc"         cons25  on  secure
    ttyv4   "/usr/libexec/getty Pc"         cons25  on  secure
    ttyv5   "/usr/libexec/getty Pc"         cons25  on  secure
    ttyv6   "/usr/libexec/getty Pc"         cons25  on  secure
    ttyv7   "/usr/libexec/getty Pc"         cons25  on  secure
    ttyv8   "/usr/X11R6/bin/xdm -nodaemon"  xterm   off secure

Az állományban található oszlopok kimerítő magyarázatát, illetve a virtuális konzolok beállításához használható kapcsolókat a ttys(5) man oldalon olvashatjuk.

### 3.2.5. Az egyfelhasználós mód konzolja

Az „egyfelhasználós mód” részletes leírása a 12.6.2. szakasz - Egyfelhasználós módban található. Fontos tudni, hogy amikor a FreeBSD-t egyfelhasználós módban futtatjuk, csupán egyetlen konzolunk van, és a virtuális konzolok nem érhetőek el. Egyébként az egyfelhasználós mód erre vonatkozó beállításai is megtalálhatóak az `/etc/ttys` állományban. Ehhez keressük meg a `console` kezdetű sort:

    # name  getty                           type    status          comments
    #
    # Ha a konzolt "insecure" (nem biztonságos) típusúnak választjuk meg,
    # akkor a használatához az egyfelhasználós mód aktivilásá előtt a rendszer
    # kérni fogja a rendszeradminisztrátori jelszót.
    console none                            unknown off secure

### Megjegyzés:

A `console` felett látható megjegyzés jelzi, hogy át tudjuk írni ebben a sorban a `secure` (biztonságos) értékű paramétert `insecure` (nem biztonságos) értékűre. Ilyenkor, hogy ha a FreeBSD egyfelhasználós módban indul, kérni fogja a `root` felhasználó (a rendszeradminisztrátor) jelszavát.

Vigyázzunk, amikor ezt az értéket `insecure`-ra állítjuk! Ha ugyanis véletlenül elfeledkeznénk a `root` jelszaváról, akkor azzal az egyfelhasználós mód használata is veszélybe kerülhet. Habár ettől függetlenül is lehetséges, azokra számára mégis nehéz helyzetnek bizonyulhat, akik nem mozognak elég otthonosan a FreeBSD rendszerindítási folyamatának és a hozzákapcsolódó programok ismeretében.

### 3.2.6. A videomód váltása konzolban

A FreeBSD konzol alapértelmezett videomódja átállítható 1024x768-ra, 1280x1024-re, vagy bármilyen olyan más méretre, amit a videokártyánk és monitorunk képes megjeleníteni. Az eltérő videomódok használatához először újra kell fordítanunk a rendszermagunkat az alábbi két beállítás hozzáadásával:

    options VESA
    options SC_PIXEL_MODE

Miután a rendszermagot sikeresen újrafordítottuk a fenti beállításokkal, a vidcontrol(1) segédprogrammal tudjuk megállapítani, hogy a hardverünk milyen videomódokat enged használni. Az összes támogatott videomódot a következőképpen tudjuk lekérdezni:

    # vidcontrol -i mode

A parancs eredményeképpen tehát megkapjuk a hardverünk által ismert videomódokat. Ezek közül tudjuk kiválasztani valamelyikőjüket és `root` felhasználóként a vidcontrol(1) segítségével beállítani:

    # vidcontrol MODE_279

Ha az új videomód megfelel számunkra, akkor ezt a beállítást az `/etc/rc.conf` állományon keresztül véglegesíthetjük is:

    allscreens_flags="MODE_279"

[1] Erre utal pontosan az `i386` jelzés. Még abban az esetben is az `i386` kiírást fogjuk látni, ha a FreeBSD-t konkrétan nem is az Intel® 386-os processzorán futtatjuk. Itt ugyanis nem a processzorunk típusát, hanem annak „architektúráját” láthatjuk.

[2] A rendszerindító szkriptek olyan programok, amelyek a FreeBSD indulása során maguktól lefutnak. Legfontosabb feladatuk elvégezni a többi program futtatásához szükséges beállításokat, valamint elindítani a háttérben futtatandó, hasznos munkát végző szolgáltatásokat.

[3] A FreeBSD konzol- és billentyűzetmeghajtóinak teljes, pusztán műszaki és precíz leírása a syscons(4), atkbd(4), vidcontrol(1) és kbdcontrol(1) man oldalakon olvasható. Itt most nem bocsátkozunk részletekbe, azonban a téma iránt érdeklődő olvasóknak mindig érdemes fellapozniuk a kapcsolódó man oldalakat, ahol megtalálhatják az említett eszközök részletesebb és bővebb leírását.

Vissza | Fel | Előre
3. fejezet - A UNIX alapjai | Főoldal | 3.3. Engedélyek

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