Linux/Terminal: Unterschied zwischen den Versionen

Aus Foxwiki
 
Zeile 87: Zeile 87:
{{Commonscat|Data terminals}}
{{Commonscat|Data terminals}}
* Linus Åkesson: [https://www.linusakesson.net/programming/tty/ The TTY demystified]
* Linus Åkesson: [https://www.linusakesson.net/programming/tty/ The TTY demystified]
= Terminalemulation =
[[Datei:Terminal-dec-vt100.jpg|mini|Ein Original VT100 Terminal]]
[[Datei:Putty vista composition.png|mini|Die Terminalemulation Putty läuft unter Windows und emuliert ein Terminal das mit einem Linux-Computer verbunden ist]]
Eine '''Terminalemulation''' ist ein [[Computerprogramm]], das die Funktion eines [[Terminal (Computer)|Computer-Terminals]] nachbildet. Sie wird genutzt, um textbasierte Programme innerhalb einer [[Grafische Benutzeroberfläche|grafischen Benutzeroberfläche]] verwenden zu können.<ref>{{Internetquelle |url=https://www.pcmag.com/encyclopedia/term/terminal-emulation |titel=Definition of Terminal Emulator |werk=PC-Magazin |sprache=en |abruf=2024-02-14}}</ref><ref>[https://www.techopedia.com/definition/16335/terminal-emulation Definition of Terminal Emulator]</ref>
Vor dem Aufkommen der PCs war es üblich, auf [[Großrechner]] (Mainframes) über Terminals zuzugreifen. Terminals sind Hardwaregeräte bestehend aus Bildschirm und Tastatur, die es ermöglichten Daten in den Zentralcomputer einzugeben, bzw. anzuzeigen. Später wurden sie auch genutzt, um Programme, die am Großrechner liefen, direkt zu bedienen.<ref>[https://www.hardware-aktuell.com/lexikon/Terminal_(Computer) Lexikon Hardware Aktuell: Computer-Terminals]</ref><ref>[https://www.itwissen.info/Terminal-terminal.html IT-Wissen: Terminal]</ref>  Beispiele von Terminals sind [[IBM 3270]] oder [[VT100]].
Diese Geräte waren zwar billiger als der Großrechner, trotzdem aber teuer und platzraubend. Da nun mit dem Aufkommen der [[Personal Computer]] in den 1980er Jahren Geräte mit Monitor und Tastatur verfügbar waren, lag es nahe, die Funktion der Hardware-Terminals durch Programme zu ersetzen, die auf PCs liefen, so dass der PC neben seinen anderen Aufgaben (wie Textverarbeitung usw.) die Funktion des Terminals mit übernehmen konnte.<ref>[https://www.emtec.com/zoc/terminal-emulator.de.html#emulation-eines-terminals-auf-einem-personal-computer Glossar Terminal-Emulation: Emulation eines Terminals auf einem Personal Computer]</ref> Diese Programme werden als ''Terminal-Emulatoren'' bzw. ''Terminalemulation'' bezeichnet.
== Historie ==
In der Anfangszeit der [[IBM Personal Computer|IBM PC]] gab es eine Reihe von Terminal-Emulatoren, die unter [[MS-DOS]] liefen, wie z.&nbsp;B. Telix, Telemate oder [[Crosstalk]].<ref>[https://archive.org/details/CrosstalkCommunicatorTerminalEmulator Crosstalk Communicator Terminal Emulator, Internet Archive (englisch)]</ref>
Mit dem Beginn der grafischen Benutzeroberflächen Windows kam eine Reihe weiterer Programme hinzu, die unter Windows bzw. [[OS/2]] liefen.<ref>[https://www.os2site.com/sw/comm/terminal/index.html OS/2 Site, Liste Kommunikationsprogramme (englisch)]</ref>
Gleichzeitig entstand im Unix-/Linux-Bereich das Programm [[xterm]], das unter der grafischen Benutzeroberfläche [[X Window System|X11]] läuft. Da Unix ursprünglich ein Betriebssystem für Zentralcomputer war, ist das Prinzip, auf so ein System über ein Terminal zuzugreifen, für Unix/Linux-Systeme essenziell.<ref>[https://www.baeldung.com/linux/terminal-shell-tty-vs-console Linux Terminal, Shell, Console (engl)]</ref>
Heutzutage gibt es eine unüberschaubare Vielzahl von Terminal-Emulatoren für Windows, Linux und macOS.<ref>[https://sourceforge.net/directory/terminal-emulators/windows/ Sourceforge: Liste von Terminalemulationen für Windows (englisch)]</ref> [[PuTTY|Putty]] ist eines der bekanntesten und beliebtesten Programme<ref>[https://alternativeto.net/category/utilities/terminal-client/ Alternative-To: Putty Likes und Alternativen (englisch)]</ref> und verfügbar unter Windows, Linux und macOS.<ref>[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html Putty Homepage, Downloads (englisch)]</ref>
== Architektur ==
Die Kommunikation zwischen Zentralcomputer und Terminal basiert auf einem Datenstrom, bei dem in die tatsächlich anzuzeigenden Daten noch Steuersequenzen eingefügt werden, die es erlauben, diese Daten am Bildschirm zu formatieren oder zu platzieren. Bei Terminals wie VT100 geschieht das durch Sequenzen mit dem Zeichen [[Escape (Steuerzeichen)|ESC]] und bestimmten darauf folgenden Codes der sog. [[Escape-Sequenz]]. Beispielsweise würde die Zeichenfolge <code>ESC [ 2 J</code> auf einem [[VT100]] Terminal den Bildschirm löschen oder <code>ESC [ 5 m</code> auf einem VT100 Terminal den folgenden Text blinkend darstellen.<ref name="vt100seq">[https://espterm.github.io/docs/VT100%20escape%20codes.html VT100 Escape Codes (englisch)]</ref><ref>[https://www.cse.psu.edu/~kxc104/class/cse472/09f/hw/hw7/vt100ansi.htm ANSI/VT100 Terminal Control Escape Sequences (englisch)]</ref> Das Erkennen und Bearbeiten dieser Sequenzen und entsprechende Darstellung der Daten ist Aufgabe der [[Terminal (Computer)|Hardwareterminals]]. Es gibt verschiedene Standards dieser Terminal-Steuersequenzen, diese variieren je nach Hersteller. Eine davon ist z.&nbsp;B. als [[ANSI-Escapesequenz]] X3.64 bekannt.<ref>[https://vt100.net/annarbor/aaa-ug/section13.html Vt100.net ANSI X3.64 Standard]</ref><ref>[https://nvlpubs.nist.gov/nistpubs/Legacy/FIPS/fipspub86.pdf FIPS-pub: Additional Controls For Use With American National Standard Code for Information Interchange (pdf, engl.)]</ref>
Eine Terminalemulation stellt sich gegenüber einem textbasierten Programm als ein [[Terminal (Computer)|Computer-Terminal]] dar (daher der Name). Es ist ein [[Emulator]] in dem Sinne, dass es dem textbasierten Programm den Eindruck vermittelt, es sei mit einem Computer-Terminal verbunden, weil es die gleiche Aufgabe übernimmt.<ref>[https://wirtschaftslexikon.gabler.de/definition/emulation-36296 Gabler Wirtschaftslexikon, Terminalemulation]</ref>
Andererseits stellt sich eine Terminalemulation gegenüber der grafischen Oberfläche als ein grafikfähiges Programm dar. Somit stellt eine Terminalemulation einen Vermittler dar – zwischen einer Textanwendung und einer grafischen Oberfläche.<ref name="invisland">{{Internetquelle |url=https://invisible-island.net/xterm/ |titel=XTerm |werk=Invisible Island |sprache=en |abruf=2023-11-05}}</ref>
Eine weitverbreitete Terminalemulation ist [[xterm]], die unter der grafischen Oberfläche [[X Window System|X11]] läuft. In ihr kann ein zeichenorientiertes Programm gestartet werden – meist eine [[Kommandozeile]]n-basierte [[Shell (Betriebssystem)|Shell]] oder eine zeichenorientierte Anwendung („Textanwendung“).
Die Programme [[Interaktion#Informatik|interagieren]] wie folgt:
Textanwendung ↔ Terminalemulation ↔ grafische Oberfläche
    Shell  ↔    xterm    ↔    X11

Aktuelle Version vom 1. Januar 2025, 02:25 Uhr

Linux/Terminal - Beschreibung

Beschreibung

Beispiele


Anhang

Siehe auch

Links

Weblinks
  1. https://de.wikipedia.org/wiki/Terminalemulation
  2. https://de.wikipedia.org/wiki/Terminal_(Computer)


TMP

Dieser Artikel|erläutert das Gerät (Hardware), für das Betriebssystem-Element siehe Terminalemulation (Software)

Serielles Text-Terminal TeleVideo 925
Sperry-UNIVAC UNISCOPE 200 für koaxialen Anschluss

Ein Terminal, auch als Konsole eines Computers oder traditionell im deutschen Sprachgebrauch als Datensichtgerät bezeichnet, ist ein Endgerät zur Eingabe und Anzeige von Daten.

Terminals wurden entwickelt, um die vormals an Großrechnern eingesetzten Fernschreiber zu ersetzen. Die Abkürzung tty des englischen Worts für Fernschreiber „teletypewriter“ ist noch heute in Unix- und Linux Betriebssystemen und entsprechender Software allgegenwärtig.

Während in der Frühzeit noch den Fernschreibern vergleichbare Geräte – bezeichnet als „Hardcopy-Terminals“, bestehend aus einem Drucker und einer Tastatur – in Gebrauch waren, bestand der Vorteil von Terminals später darin, dass ein Bildschirm für die Wiedergabe der Daten eingesetzt wurde. Bessere Geräte konnten und können nicht nur sequentiell Zeilen ausgeben: Mit einem beliebig manövrierbaren Cursor konnte Text in jeder Zeile eingegeben und verändert werden.

Die ab etwa 1977 allmählich einsetzende Verbreitung der Personal Computer hat die Terminals mittlerweile aus den meisten Büros verdrängt. Viele Terminals sind durch Terminalemulationen ersetzt worden, die auf einem PC laufen. Bis heute sind Terminals aber in einigen Bereichen verbreitet.

Geschichte

Als Vorstufe und Terminal-ähnliche Benutzerschnittstelle besaß die 1941 vorgestellte Zuse Z3 eine Tastatur mit Lampenfeld für die Ein- und Ausgabe von Zahlen.[1] In den 1960ern wurden als örtlich vom eigentlichen Computer getrennte Benutzerschnittstellen Fernschreiber wie der ASR-33 und Friden Flexowriter eingesetzt. Im Jahre 1969 begann der Verkauf des mit einem Bildschirm versehenen Datapoint 3300, das die Fernschreiber ersetzen sollte und als glass TTY bzw. glass teletype, also Glas-Fernschreiber (Glas für Bildschirm) bezeichnet wurde.

Verbindungen

Für die Verbindung zwischen Terminal und Computer gab es einerseits (abgeleitet vom Fernschreiber) die serielle Schnittstelle in den beiden Varianten als RS-232-Schnittstelle (genormt in EIA RS-232 oder CCITT V.24) oder vor allem in industriellen Anwendungen als 20-mA-Schnittstelle, die als DIN 66258 genormt war und sich in einem Teil des Marktes als De-facto-Standard etabliert hatte. Andere Hersteller, darunter der Marktführer IBM, verwendeten proprietäre Schnittstellen.

Ursprünglich wurden Terminals immer direkt an den Computer angeschlossen, der mit entsprechend vielen Schnittstellen ausgestattet sein musste. Später gab es dann verschiedenste Lösungen, um mehrere Terminals über eine gemeinsame Leitung anzuschließen, was besonders im Falle entfernt liegender Büros wirtschaftlich geboten war. IBM konnte auf der Basis eines proprietären Protokolls innerhalb der Systems Network Architecture Terminals anschließen, DEC setzte dafür DDCMP ein.

Bei größeren Entfernungen fand auch das standardisierte Protokoll X.25 Verbreitung.

Mit der Einführung lokaler Netzwerke, etwa auf der Basis Ethernet, gab es dann weitere Anschlussmöglichkeiten für Terminals, von denen sich letztlich nur die, welche das Internetprotokoll verwenden, durchgesetzt haben. Durch die Einführung des Internets ist dann ein einheitlicher Anschluss lokaler und entfernt aufgestellter Terminals möglich geworden.

Ausführungen

Terminals sind in der Regel einfache Computersysteme zur Ein- und Ausgabe, die mit einem speziellen Funktionsumfang ausgestattet werden, der auf ihren jeweiligen Einsatzzweck abgestimmt ist.

Man unterscheidet zwischen Text- und Grafikterminals. Erstere können nur die Zeichen und Buchstaben eines bestimmten Zeichensatzes (häufig ASCII) darstellen, die in einer Matrix von meist 80 Spalten (so viel wie Lochkarten hatten) und 24 oder 25 Zeilen angeordnet werden.

Die deutlich aufwendigeren Grafikterminals wurden vornehmlich von Tektronix entwickelt. Sie waren der Vorläufer der heute verwendeten pixelorientierten Hardware. Allerdings gab es im Gegensatz zu heute auch vektororientierte Terminals, bei denen der Elektronenstrahl in der Kathodenstrahlröhre frei programmierbar war. Es wurde das Bild also nicht aus einem Speicher (heute: Grafikkarte), der sehr teuer war, ausgelesen und Zeile für Zeile und Pixel für Pixel auf den Schirm übertragen, sondern die Linien wurden direkt auf die Leuchtstoffschicht („Phosphor“) geschrieben, wobei im Speicher nur Koordinaten der Linien vorzuhalten waren. Hierfür wurden meistens Speicherbildröhren verwendet.

Im praktischen Sprachgebrauch werden heute fast alle Datenendgeräte, an denen Benutzer irgendetwas eingeben können, als Terminal bezeichnet, wie auch die Liste der Beispiele unten zeigt. Ein Pseudoterminal ist ein virtuelles Computerterminal in Unix- oder Linux-Systemen zur Ein- und Ausgabe von Daten, das es ermöglicht, dass ein Programm ein anderes Programm steuert, als wäre es ein Benutzer.

Beispiele für Terminals:

Branchenspezifische Terminals:

Weblinks

Vorlage:Commonscat

  1. Lippe, Prof. Dr. Wolfram. "Kapitel 14 - Die ersten programmierbaren Rechner