Que fait la commande Linux tty ? Il affiche le nom du terminal que vous utilisez.
Origine du terminal Linux
Quelle est l’origine du terme “tty” ? Bon, c’est un peu plus difficile à expliquer…
Téléscripteurs d’antan
Au cours des années 1830 et 1840, des machines appelées téléimprimeurs ont été développées. Ces appareils pourraient transmettre des messages dactylographiés « sur le fil » vers d’autres endroits. L’expéditeur utilisait un appareil semblable à un clavier pour taper le message, et il était imprimé sur papier à la réception. Ils constituaient une étape évolutive de la télégraphie, qui dépendait auparavant du morse.
Les messages étaient cryptés et envoyés, puis décodés et imprimés. Ils ont été encodés à l’aide de diverses techniques. Le plus célèbre, mais aussi l’un des plus prolifiques, a été breveté en 1874 par Émile Baudot, dont le “débit en bauds” porte le nom. Sa méthode d’encodage de caractères a précédé l’ASCII de 89 ans.
Le codage de Baudot est finalement devenu la norme de facto pour le codage des téléimprimeurs, et il a été adopté par la plupart des fabricants. La conception matérielle originale de Baudot se composait de seulement cinq touches, similaires au piano. Pour chaque lettre, l’opérateur devait mémoriser une séquence de touches spécifique. Le système de codage Baudot a ensuite été lié à une disposition de clavier traditionnelle.
Pour commémorer ce progrès, les machines ont été surnommées téléimprimeurs. Le mot télétypes a été abrégé en ATS, qui est finalement devenu son nom commun. Alors, quel est le problème avec la télégraphie et les ordinateurs ?
ASCII et télex
Les fabricants de téléscripteurs l’ont adopté en 1963 et il est devenu la norme de l’industrie pour la transmission de texte. Malgré l’invention et l’utilisation généralisée du téléphone, les téléscripteurs étaient encore répandus.
Le télex était un réseau mondial de téléscripteur qui permettait d’envoyer des communications écrites à travers le monde. C’était le principal moyen d’envoyer des informations écrites tout au long de l’après-Seconde Guerre mondiale jusqu’au boom des télécopieurs dans les années 1980.
Les ordinateurs s’amélioraient également. Ils ont pu dialoguer avec les utilisateurs finaux en temps réel et aider de nombreuses personnes. L’ancienne méthode de travail par lots s’est avérée insuffisante. Les gens ne voulaient pas attendre 24 heures ou plus pour leurs résultats. Faire des piles de cartes perforées et attendre toute la nuit les résultats n’était plus acceptable.
L’avènement des ordinateurs et le développement d’une nouvelle technologie ont créé un besoin de logiciels qui permettraient aux utilisateurs d’envoyer et de recevoir des données. Nous voulions de l’efficacité.
Le téléscripteur reconverti
Le téléscripteur était un candidat idéal pour un périphérique d’entrée / sortie car c’était une machine qui permettait de taper, d’encoder, de transmettre, de recevoir, de décoder et d’imprimer des messages.
Le téléscripteur ne se souciait pas de savoir si l’appareil à l’autre bout du lien n’était pas un autre téléscripteur. Le téléscripteur était acceptable tant qu’il parlait le même langage d’encodage. Il utilisait un clavier plus ou moins standard avec une disposition légèrement modifiée.
Télétypes à émulation matérielle
Les télétypes sont devenus le moyen de facto d’interagir avec les grands mini-ordinateurs et ordinateurs centraux de cette époque, remplaçant les télégraphes.
Ceux-ci ont finalement été supplantés par des dispositifs qui les simulaient à l’aide de l’électronique, avec des tubes à rayons cathodiques (CRT) au lieu de rouleaux de papier. Ils n’ont pas tremblé pendant qu’ils fournissaient des réponses à partir de l’ordinateur. Ils ont activé des fonctionnalités auparavant impossibles comme déplacer le curseur sur l’écran, effacer l’écran et texte en grasentre autres.
Le DEC VT05 était l’un des premiers télétypes virtuels, et son descendant est le célèbre DEC VT100. Le DEC VT100 s’est vendu à des millions d’unités.
Téléscripteurs émulés par logiciel
La fenêtre de terminal et les applications telles que x-term et Konsole sont des téléscripteurs virtuels dans l’environnement de bureau Linux et d’autres systèmes d’exploitation de type Unix, tels que macOS. Cependant, ils sont entièrement simulés. On les appelle de faux télétypes. L’acronyme a été raccourci en PTS.
Et c’est là qu’intervient la commande tty de Linux.
En parlant de MacOS, aimeriez-vous installer Linux sur votre iPad ?
Que peut faire tty sous Linux ?
Il existe un “multiplexeur de pseudo-télétype” sous Linux qui gère toutes les connexions PTS de la fenêtre du terminal. Le maître est le multiplexeur et les PTS sont ses esclaves. Le noyau communique avec le multiplexeur via son fichier de périphérique à /dev/ptmx
La commande tty imprimera le nom du fichier de périphérique que votre pseudo-télétype esclave utilise pour s’interfacer avec le maître. Et cela, effectivement, est le numéro de votre fenêtre de terminal.
Voyons ce que rapporte le tty de Linux :
tty
La réponse montre que nous sommes connectés au fichier de périphérique à /dev/pts/0.
La fenêtre du terminal, qui est une imitation logicielle d’un téléscripteur, est reliée au multiplexeur du pseudo-téléscripteur en tant que PTS. Et c’est nul.
L’option silencieuse
L’option -s (silencieuse) fait que tty ne génère aucune sortie.
tty -s
Il produit une valeur de sortie si :
0: si l’entrée standard provient d’un périphérique 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.
Cela sera très utile dans les scripts Bash. Cependant, même en ligne de commande, nous pouvons vous montrer comment faire exécuter une commande si vous êtes dans une fenêtre de terminal (une session TTY ou PTS).
tty -s && echo "In a tty"
Comme nous exécutons une session TTY, notre code de sortie est 0 et la deuxième commande est exécutée.
En relation: Vous devez consulter ces 189 commandes de terminal Linux
Le qui commande
La commande “who” listera tous les utilisateurs connectés. User2 et User3 sont connectés à distance à l’ordinateur Linux. Ils sont connectés aux PTS un et deux. L’utilisateur1 est affiché comme étant connecté à « :0 ». Le fichier périphérique de l’écran et du clavier est connecté au multiplexeur de l’ordinateur. Bien que l’écran et le clavier soient des périphériques matériels, ils sont toujours liés au multiplexeur via un fichier de périphérique. tty indique qu’il s’agit de /dev/pts/2.
who
Accéder à un ATS
En maintenant les touches Ctrl+Alt enfoncées et en appuyant sur l’une des touches de fonction, vous pouvez accéder à une session TTY plein écran. Ctrl+Alt+F3 affichera l’invite de connexion de tty3. Si vous vous connectez et émettez la commande tty, vous verrez que vous êtes connecté à /dev/tty3.
Ce n’est pas un faux télétype (émulé dans un logiciel); c’est un téléscripteur virtuel (émulé dans le matériel). Il émule un télétype virtuel, comme le DEC VT100, avec l’écran et le clavier connectés à votre ordinateur. Si vous le souhaitez, vous pouvez établir quatre sessions TTY Linux en utilisant les touches de fonction avec la combinaison Ctrl+Alt. Si vous sélectionnez cette option, par exemple, et que vous êtes connecté à tty3, appuyez sur Ctrl+Alt+F6 pour accéder à tty6.
Pour revenir à votre environnement de bureau graphique, appuyez sur Ctrl+Alt+F2. Si vous utilisez un environnement de bureau graphique, appuyez sur Ctrl+Alt+F1 pour revenir à l’écran de connexion de votre session de bureau graphique. Les consoles Linux TTY plein écran sont accessibles en même temps à l’aide des touches Ctrl+Alt+F1 à Ctrl+Alt+F6, et le retour à votre environnement de bureau graphique est possible via Ctrl+Alt+F7. Si vous utilisez une ancienne distribution Linux, c’est peut-être ainsi que cela fonctionne pour vous.
Cela a été testé sur les versions actuelles de Manjaro, Ubuntu et Fedora et ils se sont tous comportés comme ceci :
Ctrl+Alt+F1 : vous renvoie à l’écran de connexion de l’environnement de bureau graphique.
Ctrl+Alt+F2 : vous renvoie à l’environnement de bureau graphique.
Ctrl+Alt+F3 : Ouvre TTY 3.
Ctrl+Alt+F4 : Ouvre TTY 4.
Ctrl+Alt+F5 : Ouvre TTY 5.
Ctrl+Alt+F6 : Ouvre TTY 6.
L’accès à ces consoles plein écran permet aux utilisateurs d’utiliser des installations Linux uniquement en ligne de commande, et de nombreux serveurs Linux sont configurés de cette façon, pour avoir accès à de nombreuses consoles.
Avez-vous déjà travaillé sur un système Linux avec une interface utilisateur graphique et quelque chose a gelé votre session ? Vous pouvez maintenant accéder à l’une des sessions de la console TTY pour tenter de résoudre le problème.
Utiliser top
et ps
pour rechercher l’application en échec, puis terminez-la avec kill ou fermez-la simplement aussi gracieusement que possible.
Les 3 petites lettres qui ont une longue histoire
La commande tty de Linux tire son nom d’un périphérique obsolète de la fin des années 1800, qui a été utilisé pour la première fois sous Unix en 1971, et qui fait toujours partie de Linux et d’autres systèmes d’exploitation de type Unix. Ce petit bonhomme a toute une histoire derrière lui.