Pourquoi un terminal virtuel est-il «virtuel», et quel / pourquoi / où est le «vrai» terminal?

170

J'espère que la question est explicite.

Je crois comprendre que gnome-terminalet konsolesont virtuels terminaux, et ils servent essentiellement le même but, à savoir un environnement de ligne de commande pour divers interprètes de commande en option. (Je ne suis même pas sûr que ce soit la bonne façon de voir les choses.)

Je suppose que le vrai terminal est où je suis téléporté à occasionaly par une mauvaise manipulation Ctrl+ Alt+ F1, F2etc.

Mais "There be Dragons" dans cet arrière-plan à écran noir, je suis donc sorti aussi vite que je peux appuyer sur Ctrl+ Alt+ F7(j'ai appris cela quelque part: "Quand tout est noir et noir: appuyez sur les touches secrètes pour revenir :)

  • Est / sont le "réel" terminal (s) celle (s) qui existent derrière les Ctrl+ Alt+ F1, F2, etc. clés?
  • Et qu'est-ce qui est si "réel" entre eux et les "virtuels"?
  • Et comment diffèrent-ils? Est-ce aussi simple que "pas d'interface graphique" vs "interface graphique"?

PS sont "console" et "terminal" synonyme?

Peter.O
la source
22
Ne craignez pas la ligne de commande. Cela vous facilitera la vie pour certaines choses une fois que vous en serez plus familiarisé.
Larry Coleman
1
Connexes: superuser.com/questions/96628/…
Matthew
8
@ Larry: Enhardi par vos mots, je me suis aventuré dans le repaire du dragon (Ctrl + Alt + F1), et je me suis effectivement connecté cette fois-ci! ... Il y avait un silence .. mais je pouvais voir mon invite personnalisée de X) .. Intéressant j'ai pensé, et me suis senti courageux pour appeler la bête: j'ai dit "echo $ TERM" ... et voilà! ça m'a répondu! Il a dit, "linux" ... J'ai immédiatement réalisé qu'il était un cousin de "gnome-terminal" et "konsole" qui répondaient "xterm". Ce n'est donc pas un dragon après tout, mais plutôt un terminal virtuel. émuler un terminal linux (réel).
Peter.O
5
N'ayez pas peur de la console Linux: c'est un dragon très puissant, mais apprivoisé, et il est votre meilleur ami lorsque Compiz plante;)
MestreLion
En outre, vous pouvez l'appeler un cousin de gnome-terminal, après tout, ils servent tous les deux le même but. Un cousin qui ne dépend d'aucun environnement graphique et qui est connecté à un appareil qui lui donne un peu plus de pouvoirs.
MestreLion

Réponses:

136

D'après ce que je comprends, les terminaux virtuels ont essentiellement le même objectif: Un environnement de ligne de commande pour divers interpréteurs de commandes facultatifs

Ce n'est pas strictement vrai. Les terminaux virtuels sont simplement des programmes qui envoient des frappes au clavier et reçoivent des sorties (appelées Standard In, Standard Out [et Standard Error]) à un processus en arrière-plan. Il s’agit d’un système d’ entréetraitement → système de sortie qui est au cœur de votre système d’exploitation.


Un téléscripteur (ou téléimprimeur)


Homme travaillant dans un terminal informatique

Voyons si je peux l'expliquer correctement:

Dans un système de type Unix tel que Linux, il existe le concept "tout est un fichier" . Cela signifie, par exemple, que votre lecteur de DVD est un fichier (/ dev / sdb1), votre clavier est un fichier (/ dev / input / keyboard), etc.

Un autre ensemble de ces fichiers magiques est constitué par les TTY, où TTY signifie Télétype. Une machine à écrire qui envoie des frappes à un ordinateur, qui à son tour renvoie des lettres à la boule de type . Cela aurait représenté un périphérique physique, une machine à écrire distante, de la même manière que / dev / lp0 peut représenter votre imprimante.


Un terminal matériel, le VT100

Les stations de travail Teletype auraient été appelées "Consoles" ou "Terminaux", un terminal virtuel, par opposition à un vrai, ainsi toute application ou machine offrant la même fonctionnalité que cet agencement de poste de travail - qui accède à l'ordinateur en envoyant des frappes et en recevoir la sortie, l’imprimer sur un morceau de papier. Vous pouvez imaginer qu'un modem fonctionne de manière très similaire.

Les terminaux, tels que celui illustré ci-dessus, sont des ordinateurs simples et peu coûteux qui imitent les fonctionnalités d'un télétype. De nos jours, lorsque nous parlons d'émulateur de terminal, nous désignons généralement un programme qui émule les fonctionnalités d'une telle machine.

Des systèmes informatiques basés sur des terminaux sont toujours utilisés. Ils deviennent de plus en plus populaires . Dans le passé, la raison pour laquelle les terminaux fonctionnaient était qu’un ordinateur à chaque bureau était complètement ridicule - où les ordinateurs remplissaient une pièce et étaient extrêmement coûteux. Maintenant, cela permet d'économiser de l'argent et facilite l'administration.


un "client léger" - l'équivalent moderne du VT100

J'espère que cela est utile. S'il vous plaît alerter mon si j'ai fait une erreur.


Est-ce que cela signifie que Control-Alt-F1, F2, etc. sont aussi des terminaux virtuels, et que la seule différence entre eux et "gnome-terminal" / "konsole" est qu'ils ne disposent pas d'une interface graphique?

Oui, fondamentalement. La différence entre TTY1-7 et gnome-terminal est que le système fournit les ttys, alors que gnome-terminal et konsole tournent eux-mêmes sur un tty (qui exécute le sous-système graphique). Cette abstraction peut être imbriquée encore plus profondément (par exemple, transfert x, utilisation du protocole telnet pour agir en tant que terminal, ...), l' interface homme-ordinateur agissant après tout comme tout autre fichier. Et peut être diffusé, extrait et déplacé de la même manière.

Stefano Palazzo
la source
15
Votre réponse a-t-elle été utile? ...Absolument!! ... très bien expliqué ... je n'avais jamais pensé à un clavier comme un fichier, mais c'est logique (un fichier en lecture seule) ... et un "client léger" est un terme sur lequel j'avais entendu vanter certains podcasts, mais cela m’est passé par dessus la tête et je pensais que cela faisait référence à une nouvelle architecture de CPU (à la RISC) .. mais cela signifie en fait que les bonnes idées ne disparaissent pas et que CICS (ou ) est toujours en vie et bien ... très intéressant ... Merci (maintenant j'ai un peu plus de lecture à faire ... vous avez commencé quelque chose :)
Peter.O
19
C’est un peu aléatoire et n’a pas grand-chose à voir avec Linux, mais néanmoins: si vous souhaitez apprendre quelques notions de base sur le fonctionnement réel d’un ordinateur, écoutez twit.tv/sn. - épisodes 233, 235, 237, 239 et 241 . Une série sur "le fonctionnement des ordinateurs à partir des bases absolues", où "bas niveau" signifie "bas niveau". Peu de gens connaissent ce genre de choses , c'est très amusant.
Stefano Palazzo
1
@ TokiTahmid whoops! Corrigé, merci beaucoup. Ce n'était pas intentionnel, juste une erreur :)
Stefano Palazzo
4
Je me souviens que le VT-100 était considéré comme un terminal (vidéo) et non comme un terminal virtuel ou un émulateur de terminal. De nombreux périphériques contenant leurs propres microprocesseurs étaient considérés comme des terminaux, quels que soient les autres périphériques qu'ils émulaient, dans la mesure où ils étaient conçus pour fournir des entrées et des sorties directement à l'utilisateur. Si l'interface ordinateur / personne est implémentée dans un logiciel sur un périphérique qui n'est pas dédié à être un terminal, j'appellerais cette interface ou logiciel un terminal virtuel. L’objectif de l’appareil global est la différence, pas la technologie ni le protocole de communication utilisé.
John S Gruber
2
@JohnSGruber Vous vous souvenez bien du VT100 et de ses parents, qui sont des terminaux "vidéo", afin de les distinguer du TTY sur papier, la photo du haut de cette réponse. Les trois avantages d’un VT par rapport à un ATS sont beaucoup plus silencieux: pas de papier gaspillé (mais pas de défilement qui n’est pas toujours bon), et de rapidité: le téléscripteur est quasiment limité à 110 bauds (10 caractères / s) que les VT peuvent aller aussi haut que 19,200baud, iirc. Plus tard, ils ont même proposé des «terminaux intelligents», un terminal virtuel capable de traiter certains signaux sur le signal entrant et d'ajouter de la couleur au texte, et même, moyennant un prix, des graphiques.
Gypsy Spellweaver
14

Bien sûr, l'appeler un "terminal virtuel" est un retour en arrière quand il y avait des terminaux physiques connectés à des serveurs unix ...

RobotHumans
la source
Ok ... Cela a du sens ... "à l'époque" avant le multitâche, et l'idée même était abstraite et "virtuelle" ... C'est donc la même idée qu'une machine virtuelle par rapport à un "matériel" ".
Peter.O
2
Est-ce que cela signifie que Control-Alt-F1, F2, etc. sont aussi des terminaux virtuels, et la seule différence entre eux et "gnome-terminal" / "konsole" est qu'ils ne disposent pas d'une interface graphique?
Peter.O
@ fred.bear: jetez un coup d'œil à Wikipedia .
Jamie Schembri
virtuel parce que l'extrémité humaine du terminal se connecte à un processus en cours d'exécution (via / dev / pts / *). Les terminaux non virtuels sont des éléments tels que la console de texte Linux (backend fourni par le code du noyau pour transformer les frappes au clavier en caractères d'entrée du terminal et la sortie du terminal en caractères à l'écran, y compris le traitement des codes d'échappement pour la couleur, le déplacement du curseur, etc.). Ou l'exemple le plus ancien d'un terminal non virtuel, les ports série. Gestion des terminaux fournie par tout ce que vous avez branché sur votre port série. Vous pouvez démarrer avec la console de texte sur un port série.
Peter Cordes
13

Outre les réponses ci-dessus, voir cette explication détaillée des terminaux. Le téléscripteur, malgré son apparente simplicité, est conceptuellement une partie plutôt compliquée de Linux.

Loevborg
la source
1
Merci Loevborg. C'est un article vraiment intéressant qui explique en grande partie beaucoup de terminologie "mystérieuse" ... (par exemple, un processus "zombie";)
Peter.O