Canali
Ultime news
Ultimi articoli
Le ultime dal Forum |
CorrelatiTagPassa qui con il mouse e visualizza le istruzioni per utilizzare i tag!
Il pezzo che stai leggendo è stato pubblicato oltre un anno fa.
La trattazione seguente è piuttosto datata. Sebbene questo non implichi automaticamente che quanto descritto abbia perso di validità, non è da escludere che la situazione si sia evoluta nel frattempo. Raccomandiamo quantomeno di proseguire la lettura contestualizzando il tutto nel periodo in cui è stato proposto.
Se non vi siete mai chiesti che cosa fossero quei file chiamati "ttyN" (con N che va da 0 a 63) nella directory /dev, ora potete imparare come usarli. Nell'articolo dove ho spiegato come dedicare un terminale ai messaggi del kernel, avete visto come muovervi tra i terminali virtuali di Linux. E vi sarete accorti che, se avete viaggiato fino in fondo, avete sei terminali testuali ed un terminale grafico, che ospita X. Ma quello che io chiamo "terminale grafico" è un terminale esattamente come tutti gli altri, solo usato in modo un po' diverso, pertanto è un terminale virtuale a tutti gli effetti. Qualche parola sui terminali virtualiLe teletypewriter (o teletype) erano terminali "concreti", come delle grosse macchine da scrivere, che erano molto usate fin dall'inizio del ventesimo secolo per spedire e ricevere segnali e notizie. Tra le più conosciute c'erano le Flexowriter, costruite fin dagli anni 20, poi acquistate dalla IBM (International Business Machines Corporation) negli anni 30. Queste macchine, per la loro capacità di trasmettere informazioni tra nodi (peer), tra le loro molte eredità lasciarono il nome, poi contratto in tty, che ora viene usato per identificare un "terminale virtuale". Per la verità il concetto di "terminale virtuale" (o console virtuale) ha bisogno di una suddivisione. Un "terminale virtuale" è un terminale generico, e può essere sia un terminale locale che un terminale remoto. I terminali locali sono dei terminali che consentono di interagire direttamente con la macchina su cui si sta materialmente lavorando. I terminali remoti, invece, sono terminali (intesi anche come computer veri e propri) separati dalla macchina a cui si è connessi, i cui segnali viaggiano attraverso protocolli di rete (TCP/IP, nel caso di ssh o telnet) o seriali (tramite interfacce seriali come minicom o ckermit). Linux gestisce i terminali locali grazie a dei nodi chiamati ttyN nella cartella /dev, dove risiedono tutti i file di periferica generati dal gestore predefinito (udev per tutte le distribuzioni moderne). N è un numero intero che generalmente va da 0 a 63. Per rendervi conto dell'importanza di questi piccoli file, vi basti sapere che senza i tty avreste solo delle belle schermate nere con un cursore lampeggiante, senza che voi possiate fare nulla per interagire con il kernel. Come funziona un terminale virtuale con Linux?È abbastanza semplice. Nelle distribuzioni più diffuse, il kernel Linux, all'avvio del sistema, passa il controllo ad un programma chiamato init che, tra le altre cose, legge un file chiamato /etc/inittab per vedere che cosa fare e quali terminali rendere disponibili, come e a quale processo. Se aprite /etc/inittab potrete trovare delle righe come questa: c1:12345:respawn:/sbin/agetty 38400 tty1 linux La riga contiene più termini, divisi da due punti. Nell'ordine:
Se le credenziali sono verificate viene invocata la shell di default relativa all'utente che ha effettuato il login (molto spesso è /bin/bash), che consente il dialogo dell'utente con il sistema. Seguendo lo stesso principio si può sostituire ad agetty un programma qualsiasi, come un demone o direttamente X Window System. Però noi siamo qui per aumentare il numero di terminali disponibili. E non preoccupatevi per i tasti funzione, esistono più modi per balzare da una console all'altra, qualsiasi numero abbia. A proposito di tty0
I più attenti avranno notato che, nonostante esistano tty che partano da 0, in inittab vengono utilizzati terminali che partono da 1. La spiegazione è molto semplice: /dev/tty0 è la console corrente, ovvero quella dove state scrivendo. Se vi state chiedendo che differenza abbia tty0 rispetto a qualsiasi altra console, raggiungete un terminale testuale (che NON sia in X) e provate a lanciare il seguente comando: echo hello > /dev/tty0 In QUALSIASI terminale voi siate, vedrete la scritta hello sullo schermo. tty0 è come una specie di "jolly" tra i terminali, e qualsiasi cosa ci mettiate, ovunque siate, verrà mostrata nel terminale in cui la scrivete.
Pagina successiva
Modificare /etc/inittab Pagine
Segnala ad un amico |
© Copyright 2025 BlazeMedia srl - P. IVA 14742231005