Warum ist ein virtuelles Terminal "virtuell" und was / warum / wo ist das "reale" Terminal?

170

Ich hoffe, die Frage ist selbsterklärend.

Mein Verständnis ist , dass gnome-terminalund konsolesind virtuelle Terminals, und sie sind im Grunde die gleichen Zweck dient, dh eine Befehlszeilenumgebung für verschiedene optionale Befehlsinterpreter. (Ich bin mir nicht mal sicher, ob das der richtige Weg ist, es zu betrachten.)

Ich gehe davon aus, dass das reale Terminal , wo ich occasionaly durch mis-Keying teleportiert bin Ctrl+ Alt+ F1, F2etc.

Aber : „Es werden Drachen“ in diesem schwarz-Bildschirm Hinterland, also bin ich outta-es , so schnell wie ich drücken kann Ctrl+ Alt+ F7(ich gelernt , dass irgendwo: „Wenn alles schwarz und dunkel: die geheimen Schlüssel drücken zurückzukehren :)

  • Ist / sind die "echten" Terminal (s) die eine (n) , die hinter den existieren Ctrl+ Alt+ F1, F2etc. Tasten?
  • Und was ist an ihnen so "real" im Vergleich zu den "virtuellen"?
  • Und wie unterscheiden sie sich? Ist es so einfach wie "keine GUI" vs "GUI"?

PS sind "Konsole" und "Terminal" auch?

Peter.O
quelle
22
Fürchte dich nicht vor der Kommandozeile. Es kann Ihr Leben für einige Dinge viel einfacher machen, wenn Sie sich damit besser auskennen.
Larry Coleman
8
@ Larry: Ermutigt durch deine Worte, habe ich mich in das Versteck des Drachen gewagt (Strg + Alt + F1) und mich tatsächlich angemeldet! ​​... Es herrschte Stille ... aber ich konnte meine angepasste Terminal-Eingabeaufforderung sehen (vom Land aus) von X) .. Interessant dachte ich und fühlte mich mutig das Biest zu rufen: Ich sagte "Echo $ TERM" ... und siehe da! es sprach zu mir zurück! Es hieß "linux" ... Sofort wurde mir klar, dass er ein Cousin von "gnome-terminal" und "konsole" ist, der "xterm" antwortet. Es handelt sich also doch nicht um einen Drachen, sondern um ein virtuelles Terminal Emulieren eines (realen) Linux-Terminals.
Peter.O
5
Fürchte dich nicht vor der Linux-Konsole: Er ist ein sehr mächtiger und dennoch gezähmter Drache und er ist dein bester Freund, wenn ein Compiz abstürzt;)
MestreLion
Sie können ihn auch als Cousin von bezeichnen gnome-terminal, schließlich dienen beide demselben Zweck. Ein Cousin, der von keiner grafischen Umgebung abhängig ist und mit einem Gerät verbunden ist, das ihm etwas mehr Macht verleiht.
MestreLion

Antworten:

136

Ich verstehe, dass virtuelle Terminals im Grunde den gleichen Zweck erfüllen: dh. Eine Befehlszeilenumgebung für verschiedene optionale Befehlsinterpreter

Das ist nicht ganz richtig. Virtuelle Terminals sind lediglich Programme, die Tastenanschläge senden und die Ausgabe (dies wird als Standard In, Standard Out [und Standard Error] bezeichnet) an einen Prozess im Hintergrund senden. Dies ist ein grundlegendes Eingabe-Verarbeitungs-Ausgabesystem und das Herzstück Ihres Betriebssystems.


Ein Fernschreiber (oder Fernschreiber)


Mann, der an einem Computerterminal arbeitet

Mal sehen, ob ich es richtig erklären kann:

In einem Unix-ähnlichen System wie Linux gibt es das Konzept "Alles ist eine Datei" . Das heißt, Ihr DVD-Laufwerk ist beispielsweise eine Datei (/ dev / sdb1), Ihre Tastatur ist eine Datei (/ dev / input / keyboard) und so weiter.

Ein weiterer Satz dieser magischen Dateien sind die TTYs, wobei TTY für Teletype steht. Eine Schreibmaschine, die Tastenanschläge an einen Computer sendet, der wiederum Briefe an den Type Ball zurücksendet . Dies hätte ein physisches Gerät, eine entfernte Schreibmaschine, dargestellt, so wie / dev / lp0 Ihren Drucker darstellen könnte.


Ein Hardware-Terminal, der VT100

Die Teletype-Workstations würden als "Konsolen" oder "Terminals" bezeichnet, ein virtuelles Terminal im Gegensatz zu einem realen. Daher handelt es sich bei jeder Anwendung oder Maschine um die gleichen Funktionen wie bei dieser Arbeitsplatzanordnung, bei der über Tastatureingaben auf den Computer zugegriffen wird darauf und Ausgabe von ihm zurück, drucken Sie es auf ein Stück Papier. Sie können sich vorstellen, dass ein Modem sehr ähnlich funktioniert.

Terminals wie das oben abgebildete sind billige und einfache Computer, die die Funktionalität eines Teletyps emulieren . Wenn wir heutzutage Terminalemulator sagen, meinen wir normalerweise ein Programm, das die Funktionalität einer solchen Maschine emuliert.

Es sind immer noch terminalbasierte Computersysteme in Gebrauch. Sie werden in der Tat immer beliebter . In der Vergangenheit war der Grund für Terminals, dass ein Computer an jedem Schreibtisch völlig lächerlich war - Computer füllten einen Raum und waren immens teuer. Jetzt spart es Geld und erleichtert die Administration.


Ein "Thin Client" - das moderne Äquivalent des VT100

Ich hoffe das ist hilfreich. Bitte benachrichtigen Sie mich, wenn ich einen Fehler gemacht habe.


Bedeutet das, dass Control-Alt-F1, F2 usw. auch virtuelle Terminals sind und der einzige Unterschied zwischen ihnen und "gnome-terminal" / "konsole" darin besteht, dass sie keine GUI haben?

Ja im Grunde. Der Unterschied zwischen TTY1-7 und gnome-terminal besteht darin, dass das System die ttys bereitstellt, während gnome-terminal und konsole selbst auf einem tty (das das grafische Subsystem ausführt) ausgeführt werden. Diese Abstraktion kann noch tiefer verschachtelt werden (z. B. X-Forwarding, Verwendung des Telnet-Protokolls als Terminal, ...), schließlich verhält sich die Mensch-Computer-Schnittstelle wie jede andere Datei. Und kann auf die gleiche Weise weitergeleitet, abstrahiert und bewegt werden.

Stefano Palazzo
quelle
15
War Ihre Antwort hilfreich? ...Absolut!! ... sehr gut erklärt ... Ich hätte nie gedacht, dass eine Tastatur eine Datei ist, aber es ist sinnvoll (eine schreibgeschützte Datei) ... und ein "Thin Client" ist ein Begriff, über den ich schon oft geworben hatte Einige Podcasts, aber es ging mir einfach über den Kopf und ich dachte, es beziehe sich auf eine neue CPU-Architektur (a-la-RISC). Aber es bedeutet tatsächlich, dass gute Ideen nicht verschwinden und dass CICS (oder zumindest seine Nachkommen) ) ist noch am Leben und gut ... sehr interessant ... Danke (jetzt habe ich etwas mehr zu lesen ... du hast etwas angefangen :)
Peter.O
19
Dies ist ein bisschen zufällig und hat nicht viel mit Linux zu tun, aber nichtsdestotrotz: Wenn Sie einige der Grundlagen der tatsächlichen Funktionsweise eines Computers erlernen möchten, hören Sie sich twit.tv/sn an - Folgen 233, 235, 237, 239 und 241 . Eine Reihe zum Thema "Wie Computer von den absoluten Grundlagen aus funktionieren", wobei Basic "Low Level" bedeutet. Nicht viele Leute kennen dieses Zeug , es macht großen Spaß.
Stefano Palazzo
1
@ TokiTahmid whoops! Korrigiert, vielen Dank. Es war nicht beabsichtigt, nur ein Fehler :)
Stefano Palazzo
4
Ich erinnere mich, dass der VT-100 als (Video-) Terminal und nicht als virtuelles Terminal oder Terminalemulator angesehen wurde. Viele Geräte mit eigenen Mikroprozessoren wurden als Terminals betrachtet, unabhängig von den anderen Geräten, die sie emuliert hatten, sofern sie so konzipiert waren, dass sie einen Benutzer direkt mit Ein- und Ausgängen versorgen. Wenn die Computer- / Benutzerschnittstelle in Software auf einem Gerät implementiert ist, das nicht als Terminal vorgesehen ist, würde ich diese Schnittstelle oder Software als virtuelles Terminal bezeichnen. Der Zweck des Gesamtgeräts ist der Unterschied, nicht die Technologie oder das verwendete Kommunikationsprotokoll.
John S Gruber
2
@JohnSGruber Ihre Erinnerung ist, dass der VT100 und seine Verwandten 'Video'-Terminals sind, um sie von dem papierbasierten TTY, dem Top-Foto in dieser Antwort, zu unterscheiden. Die drei Vorteile eines VT gegenüber einem TTY waren viel leiser, kein Papierverschnitt (aber ohne Scroll, der nicht immer gut war) und Geschwindigkeit - der TTY war ziemlich begrenzt auf 110 Baud (10 Char / Sek.), Die die VTs konnten gehen Sie so hoch wie 19.200 Baud, iirc. Später entwickelten sie sogar „Smart Terminals“, ein VT mit der Möglichkeit, das eingehende Signal zu verarbeiten und dem Text Farbe zu verleihen, und für einen Preis sogar Grafiken.
Gypsy Spellweaver
14

Ziemlich sicher, dass es ein "virtuelles Terminal" ist, wenn es physische Terminals gab, die mit Unix-Servern verbunden waren ...

RobotHumans
quelle
Okay ... Das macht Sinn ... "damals", bevor es Multitasking gab, und die Idee davon war abstrakt und "virtuell" ... Es ist also die gleiche Idee wie bei einer virtuellen Maschine gegen eine Hardware ".
Peter.O
2
Bedeutet das, dass Control-Alt-F1, F2 usw. auch virtuelle Terminals sind und der einzige Unterschied zwischen ihnen und "gnome-terminal" / "konsole" darin besteht, dass sie keine GUI haben?
Peter.O
@ fred.bear: Schau mal bei Wikipedia vorbei .
Jamie Schembri
virtuell, weil das menschliche Eingabe- / Ausgabeende des Terminals tatsächlich eine Verbindung zu einem laufenden Prozess herstellt (über / dev / pts / *). Nicht-virtuelle Terminals sind Dinge wie die Linux-Textkonsole (durch Kernel-Code bereitgestelltes Backend, um Tastenanschläge in Terminal-Eingabezeichen und Terminal-Ausgabe in Zeichen auf dem Bildschirm umzuwandeln, einschließlich der Verarbeitung von Escape-Codes für Farbe, Cursorbewegung usw.). Oder das älteste Beispiel für ein nicht virtuelles Terminal, die seriellen Schnittstellen. Terminal-Handling durch alles, was Sie an Ihre serielle Schnittstelle angeschlossen haben. Sie können mit der Textkonsole über eine serielle Schnittstelle booten.
Peter Cordes
13

Zusätzlich zu den obigen Antworten finden Sie in dieser umfassenden Erläuterung der Terminals. Das TTY ist trotz seiner scheinbaren Einfachheit konzeptionell ein ziemlich komplizierter Teil von Linux.

Loevborg
quelle
1
Vielen Dank, Loevborg. Es ist ein wirklich interessanter Artikel, der einen großen Teil der "mysteriösen" Terminologie erklärt ... (zB ein "Zombie" -Prozess;)
Peter.O