Il terminale, in qualunque forma esso sia (console, terminale remoto, applicazione a finestra all'interno di X Window System) è il mezzo normale di comunicazione tra l'utente e il sistema. Senza di esso non ci sarebbe alcuna possibilità di avviare nuovi processi e di conseguenza, nemmeno di poter compiere alcuna attività.
Per questo, l'attivazione di un programma per la gestione del terminale è l'ultima fase di una procedura di inizializzazione ed è quella che precede immediatamente il login, cioè il sistema di riconoscimento dell'utente che si accinge ad utilizzare il sistema.
Il programma di gestione del terminale è quello che consente di collegarsi con il sistema operativo e di poter interagire con questo. Quello originariamente utilizzato per questo scopo è getty, ma quasi tutte le distribuzioni Linux preferiscono utilizzare programmi alternativi, come agetty(1), mingetty(8) e mgetty(8).
Si tratta del programma che attiva la gestione della console o del terminale. Questa è la versione normale.
Vedere getty(1).
agetty [<opzioni>] <baud-rate>[,... ]
<porta> [variabile-term]
Si tratta di uno di quei programmi che attivano la gestione della console o del terminale. In pratica, è una di quelle versioni alternative al normale getty.
agetty apre una connessione con un terminale ed esegue il comando /bin/login che si occupa di richiedere il login, cioè il nome identificativo dell'utente, e la password. Di solito, agetty viene avviato direttamente da init durante il processo di inizializzazione del sistema.
<porta>
Si tratta del nome del file di dispositivo che identifica il terminale da utilizzare. È riferito alla directory /dev/, quindi, per esempio, tty1 si riferisce al file di dispositivo /dev/tty1.
<baud-rate>
È un elenco, separato da virgole, di una o più velocità di trasmissione espresse in baud. Ogni volta che agetty riceve un codice BREAK, seleziona la velocità successiva nell'elenco. Dopo l'ultima, riprende dalla prima.
Di solito, si preferisce indicare le velocità in ordine decrescente.
<variabile-term>
L'ultimo argomento può essere il valore da assegnare alla variabile TERM che poi viene ereditata da login e dalla shell.
-
h
Abilita il controllo di flusso hardware (RTS/CTS).
-
i
Non visualizza il contenuto del file /etc/issue (e di nessun altro equivalente) prima di emettere l'invito al login. Ciò può essere utile nel caso in cui, per motivi tecnici, sia preferibile evitare di inviare troppi dati prima della richiesta di login.
-
f <file>
Permette di indicare un nome diverso da quello predefinito per il file issue, cioè quello usato per emettere un messaggio introduttivo.
-
I <stringa-di-inizializzazione>
Permette di inviare al terminale, o al modem, una stringa di inizializzazione, prima di qualunque altro dato. Per indicare caratteri speciali non stampabili, si può usare la forma ottale di tre cifre numeriche precedute da una barra obliqua inversa (\).
-
l <programma-di-login>
Permette di indicare un programma di login diverso da quello predefinito: /bin/login.
-
m
Fa in modo che getty tenti di determinare la velocità da utilizzare dal messaggio di stato CONNECT dei modem compatibili Hayes.
-
n
Fa in modo che non venga richiesto il login.
Può avere senso questa modalità se si utilizza
anche l'opzione -
l per accedere
al sistema in modo diverso.
-
t <tempo-massimo>
Permette di definire un tempo massimo di attesa, espresso in secondi. Se il login non viene effettuato entro il tempo previsto, si interrompe la comunicazione. Di solito si utilizza questa opzione solo per le connessioni remote attraverso l'uso del modem.
-
L
Specifica in modo esplicito che si tratta di una linea locale, senza che ci sia quindi la necessità di individuare la presenza di una portante. Può essere utile, se si utilizza una linea seriale locale che non dispone del segnale di portante.
-
w
Attente di ricevere dall'utente o dal modem un segnale
di -
I.
Il file /etc/issue viene usato per emettere un messaggio introduttivo prima della richiesta del login, da parte del programma getty o di un suo equivalente.
Può utilizzare alcuni codici di escape per ottenere effetti particolari. Questi codici dipendono dall'interpretazione del programma getty che li utilizza. In particolare, l'elenco della tabella (seguente) è adatto sia a agetty che a mingetty, mentre quello della tabella (seguente) è adatto solo a getty.
Il file /var/run/utmp viene gestito dai programmi che controllano l'accesso al sistema: in particolare dai programmi getty. Viene descritto nella sezione utmp.
Le caratteristiche dei terminali possono essere molto diverse e questo è il principale problema che si pone di fronte alla ricerca verso una standardizzazione nel comportamento dei programmi per i sistemi Unix.
stty [<opzioni> | <configurazione>]
stty permette di modificare le caratteristiche della connessione del terminale al sistema. Se viene avviato senza argomenti, visualizza le informazioni salienti della connessione. Gli argomenti della configurazione sono delle parole chiave che possono apparire precedute o meno dal trattino che di solito si usa per le opzioni: se non si usa il trattino, la parola chiave viene intesa come attivazione di qualcosa, con il trattino si intende la disattivazione della stessa cosa.
Il motivo più comune per utilizzare questo programma è
quello di conoscere le combinazioni di tasti che si possono
utilizzare per generare dei segnali particolari.
Utilizzando stty con l'opzione
-
a si ottiene la configurazione corrente.
$
stty -
a
Per esempio:
speed 38400 baud; rows 25; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon ixoff
-iuclc -ixany -imaxbel
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon -iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
-echoctl echoke
indica in particolare che il carattere intr
(interrupt) viene generato con la combinazione
Vedere info stty oppure stty(1).
1997.10.26 - Scritto da Daniele Giacomini daniele@calion.com (vedi copyright: Appunti Linux).