Anketa

Ktorý návod by ste cheli ako ďalší?:

Partenské projekty

FreeBSD - Virtuálne konzoly a terminály

Verzia pre tlačSend by emailPDF verzia

FreeBSD sa dá používať rôznymi spôsobmi. Jedným z nich je písanie príkazov do textového terminálu. Ak budeme FreeBSD používať týmto spôsobom, získame flexibilitu a silu operačného systému UNIX®. Táto časť hovorí o tom, čo sú to “terminály” a “kozoly” a ako sa používajú vo FreeBSD.

Konzola

Ak nemáme FreeBSD nastavené tak, aby automaticky spustilo počas štartu grafické prostredie, systém po zavedení zobrazí výzvu na prihlásenie, hneď po tom, ako skripty vykonávané po štarte systému dokončia. Uvidíme niečo podobné, ako toto:

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

Fri Sep 20 13:01:06 EEST 2002

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

login:

Tieto správy môžu byť na našom systéme trochu odlišné, ale mali by sme vidieť niečo podobné. To čo nás teraz zaujíma, sú posledné dva riadky. Predposledný riadok hovorí:

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

Tento riadok obsahuje niekoľko informácií o systéme, ktorý sme zaviedli. Pozeráme sa na konzolu “FreeBSD”, bežiacu na platforme s procesorom Intel alebo jemu kompatibilným s architektúrou x86[1]. Názov (alebo skôr menná adresa) počítača je pc3.example.org, a pozeráme sa na jeho systémovú konzolu -- terminál ttyv0.

Posledný riadok hovorí:

login:

Toto miesto, kam je potrebné napísať naše prihlasovacie meno (ang. username) pod ktorým sa do FreeBSD prihlásime. Nasledujúca časť hovorí o tom, ako to urobiť.

Prihlásenie sa do FreeBSD

FreeBSD je viacpoužívateľský viacúlohový systém. Toto je formálny opis, ktorý sa používa v súvislosti so systémom, do ktorého sa môžu naraz prihlásiť rôzny ľudia a spúšťať v ňom naraz mnoho programov.

Každý multipoužívateľský systém potrebuje spôsob, akým odlíši jedného “používateľa” od ostatných. Vo FreeBSD (a všetkých UNIX-ových operačných systémoch) sa to robí tak, že každý používateľ sa musí do systému “prihlásiť” skôr ako bude môcť spúšťať programy. Každý používateľ má jedinečné meno -- “používateľské meno” a svoje osobný tajný kľúč -- “heslo”. FreeBSD sa na tieto dve položky opýta pred tým, ako používateľovi umožní spúšťať programy.

Hneď po tom ako sa systém FreeBSD zavedie a dokončí skripty spúšťané pri štarte [2], zobrazí výzvu na zadanie platného používateľského mena:

login:

Vo zvyšku tohto príkladu budeme predpokladať, že naše prihlasovacie meno je john. Zadáme john do tejto výzvy a stlačíme Enter. Teraz by sa mala zobraziť výzva na zadanie hesla:

login: john
Password:

Zadáme heslo používateľa john a stlačíme Enter. Heslo sa pri písaní nezobrazuje! Toto nás teraz nemusí trápiť. Stačí ak budeme vedieť, že je to kvôli bezpečnosti.

Ak sme heslo zadali správne, mali by sme byť prihlásení do FreeBSD a systém by nám mal umožniť zadávať príkazy.

Mali by sme vidieť správu dňa (MOTD) za ktorou by mala nasledovať výzva príkazového riadka (označená znakom #, $, alebo %). Podľa nej zistíme, že sme sa úspešne prihlásili do FreeBSD.

Viacero konzol

Spúšťanie príkazov UNIXu v jednej konzole je pekné, no FreeBSD dokáže spúšťať mnoho programov naraz. Mať v operačnom systéme ako FreeBSD k dispozícii len jednu konzolu, do ktorej môžeme zadávať príkazy, je dosť obmedzujúce. To je dôvod prečo systém obsahuje virtuálne konzoly.

Systém FreeBSD sa dá nastaviť tak, aby poskytoval viacero virtuálnych konzol, pričom sa môžeme prepínať z jednej do druhej pomocou niekoľkých kláves na klávesnici. Každá konzola má svoj vlastný výstupný kanál aby systém FreeBSD mohol pri prepnutí z jednej konzoly do druhej správne presmerovať vstup z klávesnice a výstup na monitor.

Systém FreeBSD má na prepínanie konzol[3] vyhradené klávesové skratky. Na prepínanie virtuálnych konzol v systéme FreeBSD môžeme použiť Alt-F1, Alt-F2, až po Alt-F8.

Pri prepínaní z jednej konzoly do druhej sa FreeBSD postará aby sa uložil a obnovil výstup na obrazovku. Výsledkom je ilúzia, že máme niekoľko virtuálnych obrazoviek a klávesníc, ktoré môžeme používať na zadávanie príkazov, ktoré má FreeBSD spustiť. Programy, ktoré spustíme v jednej virtuálnej konzole, zostanú spustené aj keď konzola nie je viditeľná. Pokračujú v práci aj po prepnutí do inej virtuálnej konzoly.

Súbor /etc/ttys

Podľa štandardnej konfigurácie sa FreeBSD spustí s ôsmimi virtuálnymi konzolami. Toto nie je natvrdo nastavený parameter a môžeme ho jednoducho zmeniť tak, aby sa systém zaviedol s väčším alebo menším počtom virtuálnych konzol. Počet virtuálnych konzol a ich nastavenia sa dajú nastavovať v súbore /etc/ttys.

Pomocou súboru /etc/ttys môžeme virtuálne konzoly FreeBSD nastavovať. Každý nezakomentovaný riadok v tomto súbore (riadok, ktorý nezačína znakom #) obsahuje nastavenia pre jeden terminál alebo virtuálnu konzolu. Štandardná verzia tohto súboru, ktorá sa dodáva spolu s FreeBSD nastavuje deväť virtuálnych konzol a povoľuje osem z nich. Sú to riadky, ktoré začínajú ttyv:

# 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

Podrobný popis každého stĺpca v tomto súbore a všetkými ich možnosťami, ktoré sa dajú použiť pri virtuálnych konzolách, sa nachádza na manuálovej stránke ttys(5).

Jednopoužívateľský režim konzoly

Podrobný popis toho čo je “jednopužívateľský režim” sa nachádza v časti Section 12.6.2. Je potrebné poznamenať, že v jednopoužívateľskom režime FreeBSD je k dispozícii iba jedna konzola. Nie sú k dispozícii žiadne virtuálne konzoly. Nastavenie jednopoužívateľskej konzoly sa dá nájsť aj v súbore /etc/ttys. Nachádza sa v riadku, ktorý sa začína slovom console:

# name  getty                           type    status          comments
#
# If console is marked "insecure", then init will ask for the root password
# when going to single-user mode.
console none                            unknown off secure

Poznámka: Poznámky nad riadkom console hovoria, že ak zmeníme nastavenie secure na insecure, FreeBSD si pri zavádzaní jednopoužívateľského režimu vyžiada heslo používateľa root.

Pri zmene voľby na insecure je potrebná obozretnosť. Ak niekedy zabudneme heslo používateľa root, zavedenie do jednopoužívateľského režimu sa trochu skomplikuje. Je to síce stále možné, no pre toho kto nepozná ako funguje proces zavádzania FreeBSD, to môže byť obtiažne.

Zmena video režimu konzoly

Štandardný video režim konzoly FreeBSD môže byť nastavený na 1024x768, 1280x1024, alebo iné rozmery podporované grafickým čipom a monitorom. Keď chceme použiť iný video režim, je potrebné najskôr nanovo prekompilovať jadro a pridať do neho dve ďalšie voľby:

options VESA
options SC_PIXEL_MODE

Keď je jadro prekompilované s týmito dvoma voľbami, pomocou nástroja  vidcontrol(1) môžeme nastaviť, aké video režimy sú podporované hardvérom. Zoznam podporovaný video režimov získame po zadaní:

# vidcontrol -i mode

Výstupom tohto príkazu je zoznam video režimov, ktoré náš hardvér podporuje. Môžeme si zvoliť nový režim tak, že ho predáme príkazu vidcontrol(1) do prostredia používateľa root:

# vidcontrol MODE_279

Ak je nový video režim prijateľný, dá sa natrvalo nastaviť v súbore /etc/rc.conf:

allscreens_flags="MODE_279"

Poznámky

[1]

To je to, čo i386 znamená. Neznamená to, že FreeBSD beží na procesore Intel 386 CPU, i386 nie je to typ procesora, ale jeho “architektúra”, podľa ktorej je vytvorený.

[2]

Skripty spúšťané pri štarte sú programy, ktoré FreeBSD automaticky spúšťa počas zavádzania. Ich hlavná funkcia je nastavenie spustenie všetkých služieb, ktoré bežia na pozadí systému a robia užitočné veci.

[3]

Celkom presný a technický popis všetkých podrobností o prostredí FreeBSD a ovládačoch klávesnice sa nachádza na manuálových stránkach syscons(4), atkbd(4), vidcontrol(1)kbdcontrol(1). V tomto návode nebudeme zachádzať do podrobností, ale čitateľ, ktorého to zaujíma, si môže na manuálových stránkach nájsť podrobnejšie informácie a vysvetlenie ako tieto veci fungujú.