Què és un TTY a Linux? (i Com utilitzar l'ordre tty)

Què significa el tty ordre fer? Imprimeix el nom del terminal que utilitzeu. TTY significa "teletescriptor". Quina és la història del nom de l'ordre? Això necessita una mica més d’explicació.

Teleimpressores del 1800

Als anys 1830 i 1840 es van desenvolupar màquines conegudes com a teleimpressores. Aquestes màquines podrien enviar missatges mecanografiats "a través del cable" a llocs distants. El remitent va escriure els missatges en un tipus de teclat. Es van imprimir en paper a l'extrem receptor. Van ser un pas evolutiu de la telegrafia, que anteriorment s’havia basat en codis Morse i similars.

Els missatges es van codificar i transmetre, després es van rebre, descodificar i imprimir. Hi havia diverses tècniques utilitzades per codificar i descodificar els missatges. El més famós i un dels més prolífics va ser patentat el 1874 per Émile Baudot, per a qui rep el nom de la velocitat en bauds. El seu esquema de codificació de caràcters era anterior a ASCII per 89 anys.

La codificació de Baudot finalment es va convertir en el més proper a un estàndard de codificació de teleimpressores i va ser adoptada per la majoria dels fabricants. El disseny de maquinari original de Baudot només tenia cinc tecles, similars a les tecles de piano. L'operador va haver d'aprendre una combinació de tecles particular per a cada lletra. Finalment, el sistema de codificació Baudot es va unir a un disseny de teclat tradicional.

Per marcar aquest avanç, les màquines van rebre el nom de teletescriptors. Això es va escurçar a teletips i, finalment, a TTY. Llavors, d’aquí obtenim les sigles TTY, però què té a veure la telegrafia amb la informàtica?

ASCII i Telex

Quan va arribar ASCII el 1963, va ser adoptat pels fabricants de teletips. Malgrat la invenció i l’ús generalitzat del telèfon, els teletips seguien en vigor.

Telex era una xarxa mundial de teletips que permetia enviar missatges escrits a tot el món. Van ser el principal mitjà de transmissió de missatges escrits durant el període següent a la Segona Guerra Mundial fins al boom de la màquina de fax dels anys vuitanta.

Els ordinadors també evolucionaven. S'estaven convertint en capaços d'interactuar amb els usuaris en temps real i de donar suport a diversos usuaris. L’antic mètode de treball per lots es va fer insuficient. La gent no volia esperar 24 hores o més pels seus resultats. Ja no era acceptable fer piles de targetes perforades i esperar els resultats de la nit al dia.

La gent necessitava un dispositiu que els permetés introduir instruccions i obtenir resultats que els retornessin. La gent volia eficiència.

El teletip reutilitzat

El teletip era el candidat perfecte com a dispositiu d’entrada / sortida. Era, al cap i a la fi, un dispositiu dissenyat per permetre escriure, codificar, enviar, rebre, descodificar i imprimir els missatges.

Què li importava al teletip si el dispositiu de l’altre extrem de la connexió no era un altre teletip? Mentre parlés el mateix llenguatge de codificació i pogués rebre missatges i enviar-los de nou, el teletip era feliç.

I, per descomptat, utilitzava un teclat més o menys estàndard.

Teletips emulats per maquinari

Els teletipos es van convertir en el mitjà predeterminat per interactuar amb els grans equips mini i mainframe d’aquella època.

Finalment van ser substituïts per dispositius que emulat aquestes màquines electromecàniques que utilitzen electrònica. Aquests tenien tubs de raigs catòdics (CRT) en lloc de rotlles de paper. No van trontollar en enviar respostes des de l'ordinador. Permetien funcions fins ara impossibles, com ara moure el cursor per la pantalla, netejar la pantalla, posar negreta en text, etc.

El DEC VT05 va ser un primer exemple d’un teletip virtual i un avantpassat del famós DEC VT100. Es van vendre milions de DEC VT100.

Teletips emulats per programari

A l’entorn d’escriptori de Linux i altres sistemes operatius similars a Unix com macOS, la finestra del terminal i aplicacions com ara x-term i Konsole són exemples de teletips virtuals. Però aquests s’emulen completament en programari. S’anomenen pseudo-teletips. Això es va escurçar a PTS.

I aquí és on tty entra.

Què ens pot dir?

A Linux, hi ha un pseudo-teletip multiplexor que gestiona les connexions de tots els pseudo-teletips (PTS) de la finestra del terminal. El multiplexor és el mestre i els PTS són els esclaus. El nucli dirigeix ​​el multiplexor a través del fitxer de dispositiu situat a / dev / ptmx.

El tty La comanda imprimirà el nom del fitxer de dispositiu que utilitza el vostre pseudo-teletip esclau per a la interfície amb el mestre. I aquest és, efectivament, el número de la finestra del terminal.

A veure què tty informes de la finestra del terminal:

tty

La resposta mostra que estem connectats al fitxer del dispositiu a / dev / pts / 0.

La nostra finestra de terminal, que és una emulació de programari d’un teletip (TTY), s’interface amb el pseudo-teletip multiplexor com a pseudo-teletip (PTS). I passa a ser el número zero.

L'opció silenciosa

El -s causa (silenciosa) de l'opció tty per generar cap sortida.

tty -s

Tanmateix, sí que produeix un valor de sortida:

  • 0: si l'entrada estàndard prové d'un dispositiu TTY, emulat o físic.
  • 1: si l'entrada estàndard no prové d'un dispositiu TTY.
  • 2: Error de sintaxi, s’han utilitzat paràmetres de línia d’ordres incorrectes.
  • 3: S'ha produït un error d'escriptura.

És probable que això sigui el més útil en els scripts de Bash. Però, fins i tot a la línia d’ordres, podem demostrar com executar una ordre només si s’executa en una finestra de terminal (una sessió TTY o una PTS).

tty -s && eco "En una tty"

Com que estem executant-nos en una sessió TTY, el nostre codi de sortida és 0 i s’executa la segona ordre.

El qui mana

Altres ordres poden revelar el vostre número TTY. El OMS L'ordre mostrarà la informació de tots els usuaris que hagin iniciat la sessió, inclòs vosaltres mateixos.

L'Alec i la Mary estan connectats remotament a l'ordinador Linux. Estan connectats a PTS un i dos.

L'usuari dave es mostra connectat a ": 0".

Això representa la pantalla i el teclat connectats físicament a l'ordinador. Tot i que la pantalla i el teclat són dispositius de maquinari, continuen connectats al multiplexor mitjançant un fitxer de dispositiu. tty revela que és / dev / pts / 2.

OMS
tty

RELACIONATS:Com es determina el compte d'usuari actual a Linux

Accés a un TTY

Podeu accedir a una sessió TTY de pantalla completa mantenint premudes les tecles Ctrl + Alt i prement una de les tecles de funció.

Ctrl + Alt + F3 mostrarà la sol·licitud d'inici de sessió de tty3.

Si inicieu la sessió i emeteu el fitxer tty , veureu que esteu connectat a / dev / tty3.

Aquest no és un pseudo-teletip (emulat al programari); és un teletip virtual (emulat en maquinari). Utilitza la pantalla i el teclat connectats a l’ordinador per emular un teletip virtual com feia abans el DEC VT100.

Podeu utilitzar les tecles de funció Ctrl + Alt amb les tecles de funció F3 a F6 i tenir quatre sessions TTY obertes si ho desitgeu. Per exemple, podeu iniciar sessió a tty3 i prémer Ctrl + Alt + F6 per anar a tty6.

Per tornar al vostre entorn d'escriptori gràfic, premeu Ctrl + Alt + F2.

En prémer Ctrl + Alt + F1 tornareu a l’indicador d’inici de sessió de la sessió gràfica d’escriptori.

Al mateix temps, Ctrl + Alt + F1 fins a Ctrl + Alt + F6 obriria les consoles TTY de pantalla completa i Ctrl + Alt + F7 tornaria al vostre entorn d'escriptori gràfic. Si esteu executant una distribució Linux anterior, pot ser que així es comporti el vostre sistema.

Això es va provar a actual versions de Manjaro, Ubuntu i Fedora i es van comportar així:

  1. Ctrl + Alt + F1: Torna a la pantalla d'inici de sessió de l'entorn gràfic d'escriptori.
  2. Ctrl + Alt + F2: Torna a l'entorn gràfic d'escriptori.
  3. Ctrl + Alt + F3: Obre TTY 3.
  4. Ctrl + Alt + F4: Obre TTY 4.
  5. Ctrl + Alt + F5: Obre TTY 5.
  6. Ctrl + Alt + F6: Obre TTY 6.

Tenir accés a aquestes consoles de pantalla completa permet que les persones que utilitzin només instal·lacions de línia de comandes de Linux —i molts servidors Linux estiguin configurats d’aquesta manera— tinguin disponibles diverses consoles.

Alguna vegada heu estat treballant en una màquina Linux amb un entorn gràfic d'escriptori i alguna cosa ha provocat que la vostra sessió es congeli? Ara podeu anar a una de les sessions de la consola TTY per intentar corregir la situació.

Pots fer servir superior i ps per provar d'identificar l'aplicació fallida, utilitzeu matar per finalitzar-lo, o simplement utilitzar-lo tancar per intentar tancar amb tanta gràcia com ho permet l’estat de l’ordinador.

RELACIONATS:Com es maten els processos des del terminal Linux

Tres petites lletres amb molta història

El tty La comanda rep el nom d'un dispositiu de finals del 1800, va aparèixer a Unix el 1971 i forma part dels sistemes operatius Linux i Unix fins als nostres dies.

El xicotet té tota una història al darrere.


$config[zx-auto] not found$config[zx-overlay] not found