Qu'est-ce qu'un TTY sous Linux? (et comment utiliser la commande tty) 13

Qu’est-ce qu’un TTY sous Linux? (et comment utiliser la commande tty)

Que fait le tty commande faire? Il imprime le nom du terminal que vous utilisez. TTY signifie «téléscripteur». Quelle est l’histoire derrière le nom de la commande? Cela demande un peu plus d’explications.

Télécimprimeurs des années 1800

Dans les années 1830 et 1840, des machines appelées téléimprimeurs ont été développés. Ces machines pourraient envoyer des messages dactylographiés «sur le fil» à des endroits éloignés. Les messages ont été tapés par l’expéditeur sur une sorte de clavier. Ils ont été imprimés sur papier à la réception. Ils étaient une étape évolutive dans télégraphie, qui reposait auparavant sur Morse et codes similaires.

Les messages étaient codés et transmis, puis reçus, décodés et imprimés. Il y avait plusieurs techniques utilisées pour encoder et décoder les messages. Le plus célèbre et l’un des plus prolifiques a été breveté en 1874 par Émile Baudot, pour qui le débit en bauds est appelé. Son schéma d’encodage de caractères est pré-daté ASCII de 89 ans.

L’encodage de Baudot est finalement devenu la chose la plus proche d’un standard d’encodage de téléimprimeur, et il a été adopté par la plupart des fabricants. La conception matérielle originale de Baudot n’avait que cinq touches, similaires aux touches de piano. L’opérateur devait apprendre une combinaison de touches particulière pour chaque lettre. Finalement, le système d’encodage Baudot a été couplé à une disposition de clavier traditionnelle.

Pour marquer cette avancée, les machines ont été nommées téléscripteurs. Cela a été raccourci aux télétypes et finalement aux téléscripteurs. C’est donc là que nous obtenons le acronyme TTY, mais qu’est-ce que la télégraphie a à voir avec l’informatique?

ASCII et télex

Lorsque l’ASCII est arrivé en 1963, il a été adopté par les fabricants de téléscripteurs. Malgré l’invention et l’utilisation répandue du téléphone, les télétypes fonctionnaient toujours très bien.

Télex était un réseau mondial de télétypes qui permettait d’envoyer des messages écrits dans le monde entier. Ils ont été le principal moyen de transmettre des messages écrits dans la période qui a suivi la Seconde Guerre mondiale jusqu’à la boom de télécopieur des années 1980.

Les ordinateurs évoluent également. Ils devenaient capables d’interagir avec les utilisateurs en temps réel et de prendre en charge plusieurs utilisateurs. L’ancienne méthode de travail par lots est devenue insuffisante. Les gens ne voulaient pas attendre 24 heures ou plus pour leurs résultats. Faire des piles de cartes perforées et attendre la nuit les résultats n’était plus acceptable.

Les gens avaient besoin d’un appareil qui leur permettrait de saisir des instructions et d’obtenir des résultats qui leur seraient renvoyés. Les gens voulaient de l’efficacité.

Le télétype réutilisé

Le télétype était le candidat idéal comme périphérique d’entrée / sortie. C’était, après tout, un appareil conçu pour permettre aux messages d’être tapés, encodés, envoyés, reçus, décodés et imprimés.

Qu’est-ce que le télétype se souciait si l’appareil à l’autre bout de la connexion n’était pas un autre télétype? Tant qu’il parlait le même langage d’encodage et pouvait recevoir des messages et renvoyer des messages, le télétype était heureux.

En relation :  Comment activer ou désactiver la fenêtre contextuelle de confirmation de suppression de fichiers dans Windows 10

Et bien sûr, il utilisait un clavier plus ou moins standard.

Télétypes émulés par le matériel

Les télétypes sont devenus le moyen par défaut d’interagir avec les grands mini et gros ordinateurs de cette époque.

Ils ont finalement été remplacés par des appareils qui émulé ces machines électromécaniques utilisant l’électronique. Ceux-ci avaient Tubes à rayons cathodiques (CRT) au lieu de rouleaux de papier. Ils n’ont pas tremblé lors de la transmission des réponses de l’ordinateur. Ils permettaient des fonctionnalités jusqu’ici impossibles, telles que déplacer le curseur sur l’écran, effacer l’écran, mettre du texte en gras, etc.

Le DÉC VT05 était un des premiers exemples de télétype virtuel et un ancêtre du célèbre DÉC VT100. Des millions de DEC VT100 ont été vendus.

Télétypes émulés par logiciel

Dans l’environnement de bureau de Linux et d’autres systèmes d’exploitation de type Unix tels que macOS, la fenêtre de terminal et des applications telles que terme x et Konsole sont des exemples de télétypes virtuels. Mais ceux-ci sont entièrement émulés dans le logiciel. Ils sont appelés pseudo-télétypes. Cela a été abrégé en PTS.

Et c’est là que tty entre.

Que peut nous dire tty?

Sous Linux, il existe un multiplexeur pseudo-télétype qui gère les connexions de tous les pseudo-télétypes de la fenêtre du terminal (PTS). Le multiplexeur est le maître et les PTS sont les esclaves. Le multiplexeur est adressé par le noyau via le fichier de périphérique situé dans / dev / ptmx.

Le tty La commande affichera le nom du fichier de périphérique que votre esclave pseudo-télétype utilise pour s’interfacer avec le maître. Et c’est effectivement le numéro de la fenêtre de votre terminal.

Voyons quoi tty rapports pour notre fenêtre de terminal:

tty

Qu'est-ce qu'un TTY sous Linux? (et comment utiliser la commande tty) 16

La réponse montre que nous sommes connectés au fichier de périphérique à / dev / pts / 0.

Notre fenêtre de terminal, qui est une émulation logicielle d’un télétype (TTY), est interfacée avec le multiplexeur pseudo-télétype en tant que pseudo-télétype (PTS). Et il se trouve que c’est le numéro zéro.

L’option silencieuse

Le -s (silencieux) cause de l’option tty pour ne générer aucune sortie.

tty -s

Qu'est-ce qu'un TTY sous Linux? (et comment utiliser la commande tty) 17

Cela produit une valeur de sortie, cependant:

  • 0: si l’entrée standard provient d’un appareil TTY, émulé ou physique.
  • 1: si l’entrée standard ne provient pas d’un appareil TTY.
  • 2: Erreur de syntaxe, des paramètres de ligne de commande incorrects ont été utilisés.
  • 3: Une erreur d’écriture s’est produite.

Ceci est probablement le plus utile dans les scripts Bash. Mais, même sur la ligne de commande, nous pouvons montrer comment faire exécuter une commande uniquement si vous exécutez dans une fenêtre de terminal (une session TTY ou PTS).

tty -s && echo "In a tty"

Qu'est-ce qu'un TTY sous Linux? (et comment utiliser la commande tty) 18

Comme nous sommes en cours d’exécution dans une session TTY, notre code de sortie est 0 et la deuxième commande est exécutée.

Qu'est-ce qu'un TTY sous Linux? (et comment utiliser la commande tty) 19

Le qui commande

D’autres commandes peuvent révéler votre numéro TTY. Le who La commande listera les informations de tous les utilisateurs connectés, y compris vous-même.

Alec et Mary sont connectés à distance à l’ordinateur Linux. Ils sont connectés aux PTS un et deux.

En relation :  Comment supprimer les applications suspectes de votre Mac

L’utilisateur dave est indiqué comme étant connecté à «: 0».

Cela représente l’écran et le clavier physiquement connectés à l’ordinateur. Même si l’écran et le clavier sont des périphériques matériels, ils sont toujours connectés au multiplexeur via un fichier de périphérique. tty révèle qu’il s’agit de / dev / pts / 2.

who
tty

Qu'est-ce qu'un TTY sous Linux? (et comment utiliser la commande tty) 20

Bientôt: Comment déterminer le compte d’utilisateur actuel sous Linux

Accéder à un TTY

Vous pouvez accéder à une session TTY plein écran en maintenant les touches Ctrl + Alt enfoncées et en appuyant sur l’une des touches de fonction.

Ctrl + Alt + F3 affichera l’invite de connexion de tty3.

console tty3

Si vous vous connectez et émettez le tty commande, vous verrez que vous êtes connecté à / dev / tty3.

Ce n’est pas un pseudo-télétype (émulé dans un logiciel); c’est un télétype virtuel (émulé dans le matériel). Il utilise l’écran et le clavier connectés à votre ordinateur pour émuler un télétype virtuel comme le faisait le DEC VT100.

Vous pouvez utiliser les touches de fonction Ctrl + Alt avec les touches de fonction F3 à F6 et ouvrir quatre sessions TTY si vous le souhaitez. Par exemple, vous pouvez être connecté à tty3 et appuyer sur Ctrl + Alt + F6 pour accéder à tty6.

console tty6

Pour revenir à votre environnement de bureau graphique, appuyez sur Ctrl + Alt + F2.

Appuyer sur Ctrl + Alt + F1 vous ramènera à l’invite de connexion de votre session de bureau graphique.

À un moment donné, Ctrl + Alt + F1 jusqu’à Ctrl + Alt + F6 ouvrirait les consoles TTY plein écran, et Ctrl + Alt + F7 vous ramènerait à votre environnement de bureau graphique. Si vous exécutez une ancienne distribution Linux, cela peut être le comportement de votre système.

Cela a été testé sur actuel versions de Manjaro, Ubuntu et Fedora et ils se sont tous comportés comme ceci:

  1. Ctrl + Alt + F1: Vous renvoie à l’écran de connexion de l’environnement de bureau graphique.
  2. Ctrl + Alt + F2: Vous renvoie à l’environnement de bureau graphique.
  3. Ctrl + Alt + F3: Ouvre TTY 3.
  4. Ctrl + Alt + F4: Ouvre TTY 4.
  5. Ctrl + Alt + F5: Ouvre TTY 5.
  6. Ctrl + Alt + F6: Ouvre TTY 6.

L’accès à ces consoles plein écran permet aux personnes utilisant uniquement des installations en ligne de commande de Linux – et de nombreux serveurs Linux sont configurés de cette façon – d’avoir plusieurs consoles disponibles.

Avez-vous déjà travaillé sur une machine Linux avec un environnement de bureau graphique et quelque chose a-t-il fait geler votre session? Vous pouvez maintenant accéder à l’une des sessions de la console TTY afin d’essayer de remédier à la situation.

Vous pouvez utiliser top et ps pour essayer d’identifier l’application qui a échoué, puis utilisez kill pour y mettre fin, ou simplement utiliser shutdown pour essayer de fermer aussi gracieusement que l’état de l’ordinateur le permet.

Bientôt: Comment tuer des processus à partir du terminal Linux

Trois petites lettres avec beaucoup d’histoire

Le tty La commande tire son nom d’un périphérique de la fin des années 1800, apparu sous Unix en 1971, et fait encore partie des systèmes d’exploitation de type Linux et Unix à ce jour.

Le petit bonhomme a toute une histoire derrière lui.