3.2. Console Virtuali e Terminali

FreeBSD può essere usato in vari modi. Uno di questi è quello di digitare i comandi tramite un terminale testuale. Quando si utilizza FreeBSD in questo modo si ha velocemente nelle proprie mani molta della flessibilità e della potenza di un sistema operativo UNIX®. Questa sezione descrive cosa sono i «terminali» e le «console», e come si possono utilizzare in FreeBSD.

3.2.1. La console

Se non hai configurato FreeBSD in modo tale da avviare in modo automatico l'ambiente grafico durante l'avvio, il sistema ti fornirà un prompt di login dopo la fase di avvio, esattamente dopo che gli script di avvio sono stati eseguiti. Dovresti vedere qualcosa simile a questo:

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

Fri Sep 20 13:01:06 EEST 2002

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

login:

I messaggi potrebbero essere leggermente diversi sul tuo sistema, tuttavia dovresti vedere qualcosa di analogo. In questo momento ci interessano le ultime due righe. Analizziamo la penultima riga:

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

Questa riga contiene alcune informazioni sul sistema che hai appena avviato. Sei di fronte a una console «FreeBSD», che sta girando su un processore Intel o su un processore compatibile con l'architettura x86[1]. Il nome di questa macchina (tutte le macchine UNIX® hanno un nome) è pc3.example.org, e in questo momento sei di fronte alla sua console di sistema-il terminale ttyv0.

Infine, l'ultima riga è sempre:

login:

Qui devi digitare il tuo «username» per loggarti in FreeBSD. La prossima sezione descrive come fare ad effettuare il login su FreeBSD.

3.2.2. Loggarsi in FreeBSD

FreeBSD è un sistema multi-utente e multi-processo. Questa è la descrizione formale che viene usualmente attribuita a un sistema che può essere usato da diverse persone, le quali eseguono contemporaneamente molti programmi su una singola macchina.

Ogni sistema multi-utente necessita di qualche metodo che distingua un «utente» in modo univoco. In FreeBSD (e in tutti i sistemi operativi UNIX®-like), questo viene realizzato richiedendo che ogni utente debba «loggarsi» nel sistema prima che possa eseguire qualche programma. Ogni utente ha un nome univoco (lo «username»), uno personale e una chiave segreta (la «password»). FreeBSD richiede entrambe queste due cose prima di dare la possibilità ad un utente di eseguire qualche programma.

Appena dopo la fase di avvio di FreeBSD e quando gli script di avvio sono stati eseguiti[2], ti viene presentato un prompt dove inserire un valido username:

login:

Giusto per questo esempio, assumiamo che il tuo username sia john. Al prompt digita john e premi Invio. Ti verrà presentato un prompt dove inserire la «password»:

login: john
Password:

Digita la password di john, e premi Invio. La password non viene visualizzata! Non ti devi preoccupare di questo per ora. È sufficiente sapere che è una questione di sicurezza.

Se hai digitato la tua password in modo corretto, dovresti essere loggato in FreeBSD e sei quindi pronto per provare tutti i comandi disponibili.

Dovresti inoltre vedere il messaggio del giorno (MOTD) seguito da un prompt dei comandi (un carattere #, $, o %). Ciò indica che sei a tutti gli effetti loggato su FreeBSD.

3.2.3. Console Multiple

Eseguire comandi UNIX® in una sola console va bene, tuttavia FreeBSD può eseguire più programmi alla volta. Avere una sola console dove poter digitare i comandi può essere un pò uno spreco quando un sistema operativo come FreeBSD è in grado di eseguire dozzine di programmi contemporaneamente. È in questo caso che le «console virtuali» possono essere molto utili.

FreeBSD può essere configurato in modo tale da poter utilizzare differenti console virtuali. Puoi passare da una console virtuale ad un'altra digitando un paio di tasti sulla tastiera. Ogni console ha il proprio canale di output indipendente, e FreeBSD si occupa di redirigere correttamente l'input della tastiera e l'output del monitor quando passi da una console virtuale in un'altra.

In FreeBSD alcune combinazioni speciali di tasti sono state riservate per il passaggio tra le console[3]. Puoi usare Alt+F1, Alt+F2, fino a Alt+F8 per cambiare console su FreeBSD.

Quando passi da una console ad un'altra, FreeBSD si preoccupa di salvare e ripristinare l'output a video. Il risultato è l'«illusione» di avere più schermi e più tastiere «virtuali» che puoi utilizzare per dare in pasto a FreeBSD dei comandi. I programmi che lanci su una console virtuale rimarranno in esecuzione anche quando la console non è visibile. L'esecuzione di questi programmi continua quando passi in un'altra console virtuale.

3.2.4. Il File /etc/ttys

La configurazione di default di FreeBSD prevede l'avvio del sistema con otto console virtuali. Comunque questo non è un settaggio obbligatorio, e puoi facilmente personalizzare la tua installazione in modo tale da avviare il sistema con qualche console virtuale in più o in meno. Il numero e i settaggi delle console virtuali sono configurati nel file /etc/ttys.

Puoi usare il file /etc/ttys per configurare le console virtuali di FreeBSD. In questo file ogni riga non commentata (le righe che non iniziano con il carattere #) contiene i settaggi di un singolo terminale o di una singola console. La versione di default di questo file contenuta in FreeBSD configura nove console virtuali, ed abilita otto di queste. Sono le righe che iniziano con ttyv:

# name  getty                           type    status          comments
#
ttyv0   "/usr/libexec/getty Pc"         cons25  on  secure
# Terminali virtuali
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

Per una descrizione più dettagliata su ogni colonna di questo file e per tutte le opzioni che puoi utilizzare per settare le console virtuali, consulta la pagina man ttys(5).

3.2.5. Console in Modalità Single User

Una descrizione dettagliata del significato della «modalità single user» può essere trovata nella Sezione 12.6.2, «Modalità Singolo Utente». È bene notare che c'è un'unica console quando avvii FreeBSD in modalità single user. Le console virtuali non sono disponibili. Anche i settaggi della console in modalità single user possono essere trovati nel file /etc/ttys. Guarda la riga che inizia con console:

# name  getty                           type    status          comments
#
# Se la console è definita "insecure", allora il processo init richiederà la password di root
# quando entrerai in modalità single-user.
console none                            unknown off secure

Nota:

Come riportato nel commento sopra la riga console, puoi modificare questa riga cambiando secure in insecure. Se lo fai, quando FreeBSD viene avviato in modalità single user, verrà chiesta la password di root.

Pensaci comunque due volte a settare il parametro insecure. Se non ricordi più la password di root, riuscire ad avviare il sistema in modalità single user sarà molto complesso. È ancora possibile, ma potrebbe essere molto difficile per chi non conosce molto bene il meccanismo di avvio di FreeBSD e i relativi programmi.

3.2.6. Modifica delle Modalità Video della Console

La modalità video di default della console di FreeBSD può essere impostata a 1024x768, 1280x1024, o ad un altra risoluzione supportata dalla tua scheda grafica e dal tuo monitor. Per usare una modalità video differente, devi prima ricompilare il tuo kernel aggiungendo due opzioni:

options VESA
options SC_PIXEL_MODE

Quando il kernel è stato ricompilato con queste due opzioni, puoi determinare quali modalità video sono supportate dal tuo hardware usando l'utility vidcontrol(1). Per ottenere una lista delle modalità video supportate, digita il seguente comando:

# vidcontrol -i mode

L'output di questo comando è una lista delle modalità video che sono supportate dal tuo hardware. Puoi usare una nuova modalità video indicandola a vidcontrol(1) in una console root:

# vidcontrol MODE_279

Se la nuova modalità è soddisfacente, può essere impostata in modo permanente ad ogni avvio nel file /etc/rc.conf:

allscreens_flags="MODE_279"


[1] Questo è il significato di i386. Nota che anche se non stai eseguendo FreeBSD su una CPU della serie 386 di Intel, questo messaggio resta i386. Non si riferisce al tipo del tuo processore, ma bensì all'«architettura» del processore.

[2] Gli script di avvio sono programmi che vengono eseguiti in modo automatico durante la fase di avvio di FreeBSD. Il loro compito principale è quello di impostare l'ambiente che potrà essere utilizzato da qualsiasi altro programma che venga eseguito, ed avviare i servizi che hai configurato in modo tale da essere eseguiti in background per realizzare cose utili.

[3] Una descrizione abbastanza tecnica ed accurata di tutti i dettagli della console di FreeBSD e dei driver della tastiera può essere trovata nelle pagine man di syscons(4), atkbd(4), vidcontrol(1) e kbdcontrol(1). Qui non approfondiremo i dettagli, ma il lettore interessato può sempre consultare le pagine man per una spiegazione dettagliata e completa su come funzionano queste cose.

Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/

Per domande su FreeBSD, leggi la documentazione prima di contattare <questions@FreeBSD.org>.

Per domande su questa documentazione, invia una e-mail a <doc@FreeBSD.org>.