
Cosa fa il tty comando fare? Stampa il nome del terminale che stai utilizzando. TTY sta per “teletypewriter”. Qual è la storia dietro il nome del comando? Ciò richiede un po 'più di spiegazione.
Teleprinters del 1800
Negli anni 1830 e 1840, furono sviluppate macchine note come teleprinters. Queste macchine potrebbero inviare messaggi digitati “lungo il filo” a posizioni distanti. I messaggi sono stati digitati dal mittente su una sorta di tastiera. Sono stati stampati su carta all'estremità di ricezione. Erano un passo evolutivo nella telegrafia, che in precedenza aveva fatto affidamento su codici Morse e simili.
I messaggi sono stati codificati e trasmessi, quindi ricevuti, decodificati e stampati. Sono state utilizzate diverse tecniche per codificare e decodificare i messaggi. Il più famoso, e uno dei più prolifici, fu brevettato nel 1874 da Émile Baudot, per il quale il baud rate viene chiamato. Il suo schema di codifica dei personaggi precede l'ASCII di 89 anni.
La codifica di Baudot alla fine divenne la cosa più vicina a uno standard nella codifica di teleprinter, ed è stata adottata dalla maggior parte dei produttori. Il design hardware originale di Baudot aveva solo cinque tasti, simili ai tasti del piano. L'operatore doveva imparare una combinazione di tasti particolare per ogni lettera. Alla fine, il sistema di codifica Baudot è stato accoppiato a un layout di tastiera tradizionale.
Per contrassegnare tale progresso, le macchine furono chiamate teletypewriter. Questo è stato abbreviato in teletipi e infine in TTY. Ecco da dove otteniamo l'acronimo TTY, ma cosa c'entra la telegrafia con l'informatica?
ASCII e Telex
Quando ASCII arrivò nel 1963, fu adottato dai produttori di teletipi. Nonostante l'invenzione e l'uso diffuso del telefono, i teletipi stavano ancora andando forte.
Telex era una rete mondiale di teletipi che consentivano di inviare messaggi scritti in tutto il mondo. Erano i principali mezzi per trasmettere messaggi scritti nel periodo successivo alla seconda guerra mondiale fino al boom del fax degli anni '80.
Anche i computer si stavano evolvendo. Stavano diventando in grado di interagire con gli utenti in tempo reale e di supportare più utenti. Il vecchio metodo di lavoro discontinuo divenne insufficiente. Le persone non volevano aspettare 24 ore o più per i loro risultati. Fare pile di carte perforate e aspettare durante la notte per i risultati non era più accettabile.
Le persone avevano bisogno di un dispositivo che consentisse loro di inserire le istruzioni e ottenere risultati restituiti. La gente voleva efficienza.
Il teletipo è stato riproposto
Il teletipo era il candidato perfetto come dispositivo di input / output. Dopotutto, era un dispositivo progettato per consentire la digitazione, la codifica, l'invio, la ricezione, la decodifica e la stampa dei messaggi.
Che cosa importava al teletipo se il dispositivo all'altra estremità della connessione non era un altro teletipo? Finché parlava lo stesso linguaggio di codifica e poteva ricevere messaggi e rispedirli, il teletipo era felice.
E, naturalmente, utilizzava una tastiera standard più o meno standard.
Teletipi emulati dall'hardware
I teletipi sono diventati il mezzo predefinito per interagire con i grandi computer mini e mainframe di quell'epoca.
Alla fine sono stati sostituiti da dispositivi che emulato quelle macchine elettromeccaniche che usano l'elettronica. Questi avevano tubi a raggi catodici (CRT) invece di rotoli di carta. Non si sono scossi durante la consegna delle risposte dal computer. Hanno consentito funzionalità finora impossibili, come spostare il cursore sullo schermo, cancellare lo schermo, mettere in grassetto il testo e così via.
Il DEC VT05 era un primo esempio di un teletipo virtuale e un antenato del famoso DEC VT100. Milioni di VT100 DEC sono stati venduti.
Teletipi emulati da software
Nell'ambiente desktop di Linux e di altri sistemi operativi simili a Unix come macOS, la finestra del terminale e le applicazioni come x-term e Konsole sono esempi di teletipi virtuali. Ma questi sono emulati interamente in software. Si chiamano pseudo-teletipi. Questo è stato ridotto a PTS.
Ed è qui tty entra.
Cosa può dirci tty?
In Linux esiste un multiplexor pseudo-teletipo che gestisce le connessioni da tutti gli pseudo-teletipi della finestra terminale (PTS). Il multiplexor è il padrone e i PTS sono gli schiavi. Il multiplexor è indirizzato dal kernel attraverso il file del dispositivo situato in / dev / ptmx.
Il tty Il comando stamperà il nome del file del dispositivo utilizzato dallo slave pseudo-teletipo per interfacciarsi al master. E questo, effettivamente, è il numero della finestra del terminale.
Vediamo cosa tty rapporti per la nostra finestra del terminale:
tty

La risposta mostra che siamo collegati al file del dispositivo in / dev / pts / 0.
La nostra finestra terminale, che è un'emulazione software di un teletipo (TTY), è interfacciata al multiplexor pseudo-teletipo come uno pseudo-teletipo (PTS). E capita di essere il numero zero.
L'opzione silenziosa
Il -s (silenzioso) cause dell'opzione tty per non generare output.
tty -s

Fa produrre un valore di uscita, tuttavia:
- 0: se l'input standard proviene da un dispositivo TTY, emulato o fisico.
- 1: se l'ingresso standard non proviene da un dispositivo TTY.
- 2: Errore di sintassi, sono stati utilizzati parametri della riga di comando errati.
- 3: Si è verificato un errore di scrittura.
Questo sarà probabilmente più utile negli script di Bash. Ma, anche sulla riga di comando, possiamo dimostrare come eseguire un comando solo se si esegue in una finestra del terminale (una sessione TTY o PTS).
tty -s && echo "In a tty"

Poiché stiamo eseguendo una sessione TTY, il nostro codice di uscita è 0 e il secondo comando viene eseguito.

Il comando who
Altri comandi possono rivelare il tuo numero TTY. Il who Il comando elencherà le informazioni per tutti gli utenti che hanno effettuato l'accesso, incluso te stesso.
Alec e Mary sono collegati in remoto al computer Linux. Sono collegati a PTS uno e due.
L'utente dave viene mostrato come collegato a “: 0”.
Questo rappresenta lo schermo e la tastiera fisicamente collegati al computer. Anche se lo schermo e la tastiera sono dispositivi hardware, sono comunque collegati al multiplexor tramite un file del dispositivo. tty rivela che è / dev / pts / 2.
who
tty

RELAZIONATO: Come determinare l'account utente corrente in Linux
Accesso a un TTY
È possibile accedere a una sessione TTY a schermo intero tenendo premuti i tasti Ctrl + Alt e premendo uno dei tasti funzione.
Ctrl + Alt + F3 visualizzerà il prompt di accesso di tty3.
Se accedi e rilasci il file tty comando, vedrai che sei connesso a / dev / tty3.
Questo non è uno pseudo-teletipo (emulato nel software); è un teletipo virtuale (emulato in hardware). Sta usando lo schermo e la tastiera collegati al tuo computer, per emulare un teletipo virtuale come faceva il DEC VT100.
Puoi usare i tasti funzione Ctrl + Alt con i tasti funzione da F3 a F6 e avere quattro sessioni TTY aperte se lo desideri. Ad esempio, potresti accedere a tty3 e premere Ctrl + Alt + F6 per passare a tty6.
Per tornare al tuo ambiente desktop grafico, premi Ctrl + Alt + F2.
Premendo Ctrl + Alt + F1 si ritorna al prompt di accesso della sessione grafica del desktop.
Una volta, Ctrl + Alt + F1 fino a Ctrl + Alt + F6 apriva le console TTY a schermo intero e Ctrl + Alt + F7 ti riportava nel tuo ambiente desktop grafico. Se stai eseguendo una distribuzione Linux precedente, questo potrebbe essere il comportamento del tuo sistema.
Questo è stato testato attuale versioni di Manjaro, Ubuntu e Fedora e si sono comportati tutti così:
- Ctrl + Alt + F1: Ritorna alla schermata di accesso all'ambiente desktop grafico.
- Ctrl + Alt + F2: Ritorna all'ambiente desktop grafico.
- Ctrl + Alt + F3: Apre TTY 3.
- Ctrl + Alt + F4: Apre TTY 4.
- Ctrl + Alt + F5: Apre TTY 5.
- Ctrl + Alt + F6: Apre TTY 6.
L'accesso a queste console a schermo intero consente agli utenti che utilizzano solo installazioni da riga di comando di Linux — e molti server Linux sono configurati in questo modo — di avere a disposizione più console.
Hai mai lavorato su una macchina Linux con un ambiente desktop grafico e qualcosa ha causato il blocco della sessione? Ora puoi passare a una delle sessioni della console TTY in modo da poter provare a correggere la situazione.
Puoi usare top e ps per provare a identificare l'applicazione non riuscita, quindi utilizzare kill per terminarlo, o semplicemente usare shutdown per provare a chiudere con garbo quanto lo stato del computer consentirà.
RELAZIONATO: Come uccidere i processi dal terminale Linux
Tre piccole lettere con molta storia
Il tty Il comando prende il nome da un dispositivo della fine del 1800, apparso in Unix nel 1971 e fa parte dei sistemi operativi Linux e Unix fino ad oggi.
Il tipo ha una bella storia alle spalle.
