Was macht der Linux-tty-Befehl? Es zeigt den Namen des verwendeten Terminals an.
Ursprung von Linux tty
Woher stammt der Begriff „tty“? Naja, das ist etwas schwieriger zu erklären…
Fernschreiber von früher
In den 1830er und 1840er Jahren wurden Maschinen namens Fernschreiber entwickelt. Diese Geräte könnten getippte Nachrichten „down the wire“ an andere Orte übertragen. Der Absender verwendete ein tastaturähnliches Gerät, um die Nachricht einzugeben, und sie wurde auf der Empfängerseite auf Papier gedruckt. Sie waren ein Evolutionsschritt in der Telegrafie, die zuvor auf Morse angewiesen war.
Nachrichten wurden verschlüsselt und gesendet, dann entschlüsselt und gedruckt. Sie wurden mit einer Vielzahl von Techniken kodiert. Das berühmteste, sowie eines der produktivsten, wurde 1874 von patentiert Émile Baudot, nach dem die „Baudrate“ benannt ist. Seine Zeichenkodierungsmethode ging ASCII 89 Jahre voraus.
Die Codierung von Baudot wurde schließlich zum De-facto-Standard für die Codierung von Fernschreibern und wurde von den meisten Herstellern übernommen. Baudots ursprüngliches Hardware-Design bestand aus nur fünf Tasten, ähnlich wie beim Klavier. Für jeden Buchstaben musste sich der Bediener eine bestimmte Tastenfolge merken. Das Baudot-Codierungssystem wurde später mit einem traditionellen Tastaturlayout verknüpft.
Um an diesen Fortschritt zu erinnern, wurden die Maschinen als Fernschreiber bezeichnet. Das Wort Fernschreiber wurde mit TTYs abgekürzt, was schließlich zu seinem gebräuchlichen Namen wurde. Was hat es also mit Telegrafie und Computern auf sich?
ASCII und Telex
Die Fernschreiberhersteller übernahmen es 1963 und es wurde zum Industriestandard für die Textübertragung. Trotz der Erfindung und weit verbreiteten Nutzung des Telefons waren Fernschreiber immer noch weit verbreitet.
Telex war ein weltweites Fernschreibnetz, das es ermöglichte, schriftliche Mitteilungen in die ganze Welt zu senden. Es war das wichtigste Mittel zum Versenden schriftlicher Informationen in der Zeit nach dem Zweiten Weltkrieg bis zum Boom der Faxgeräte in den 1980er Jahren.
Auch die Computer verbesserten sich. Sie konnten in Echtzeit mit Endbenutzern in Kontakt treten und viele Menschen unterstützen. Der alte Batch-Ansatz zum Arbeiten erwies sich als unzureichend. Die Leute wollten nicht 24 Stunden oder länger auf ihre Ergebnisse warten. Stapel von Lochkarten zu machen und über Nacht auf Ergebnisse zu warten, war nicht mehr akzeptabel.
Das Aufkommen von Computern und die Entwicklung einer neuen Technologie hat einen Bedarf an Software geschaffen, die es Benutzern ermöglichen würde, Daten zu senden und zu empfangen. Wir wollten Effizienz.
Der Fernschreiber wurde umfunktioniert
Der Fernschreiber war ein idealer Kandidat für ein Eingabe-/Ausgabegerät, da es sich um eine Maschine handelte, mit der Nachrichten getippt, kodiert, übertragen, empfangen, dekodiert und gedruckt werden konnten.
Dem Fernschreiber war es egal, ob das Gerät am anderen Ende der Verbindung kein anderer Fernschreiber war. Der Fernschreiber war in Ordnung, solange er dieselbe Verschlüsselungssprache sprechen konnte. Es wurde eine mehr oder weniger Standardtastatur mit einem leicht veränderten Layout verwendet.
Hardwareemulierte Fernschreiber
Fernschreiber wurden de facto zur Interaktion mit großen Mini- und Mainframe-Computern dieser Zeit und ersetzten Telegrafenmaschinen.
Diese wurden schließlich durch Geräte ersetzt, die sie mithilfe von Elektronik simulierten, mit Kathodenstrahlröhren (CRTs) anstelle von Papierrollen. Sie zitterten nicht, als sie Antworten vom Computer lieferten. Sie ermöglichten zuvor unmögliche Funktionen wie das Bewegen des Cursors auf dem Bildschirm, das Löschen des Bildschirms und Fettschriftunter anderem.
Der DEC VT05 war ein früher virtueller Fernschreiber, und sein Nachkomme ist der berühmte DEC VT100. Der DEC VT100 wurde millionenfach verkauft.
Softwareemulierte Fernschreiber
Das Terminalfenster und Anwendungen wie x-term und Konsole sind virtuelle Fernschreiber in der Linux-Desktopumgebung und anderen Unix-ähnlichen Betriebssystemen wie macOS. Sie sind jedoch vollständig simuliert. Sie werden gefälschte Fernschreiber genannt. Das Akronym wurde zu PTS abgekürzt.
Und hier kommt der tty-Befehl von Linux ins Spiel.
Apropos MacOS, möchten Sie Linux auf Ihrem iPad installieren?
Was kann tty unter Linux?
In Linux gibt es einen „Pseudo-Teletyp-Multiplexer“, der alle PTS-Verbindungen des Terminalfensters verwaltet. Der Master ist der Multiplexer und die PTS sind seine Slaves. Der Kernel kommuniziert mit dem Multiplexer über seine Gerätedatei unter /dev/ptmx
Der Befehl tty gibt den Namen der Gerätedatei aus, die Ihr Pseudo-Teletype-Slave verwendet, um eine Verbindung zum Master herzustellen. Und das ist effektiv die Nummer Ihres Terminalfensters.
Mal sehen, was tty von Linux meldet:
tty
Die Antwort zeigt, dass wir mit der Gerätedatei unter /dev/pts/0 verbunden sind.
Das Terminalfenster, das eine Software-Imitation eines Fernschreibers ist, ist als PTS mit dem Pseudo-Fernschreiber-Multiplexer verbunden. Und es ist null.
Die stille Option
Die Option -s (silent) bewirkt, dass tty keine Ausgabe erzeugt.
tty -s
Es erzeugt einen Exit-Wert, wenn:
0: wenn die Standardeingabe von einem TTY-Gerät kommt, emuliert oder physikalisch.
1: wenn die Standardeingabe nicht von einem TTY-Gerät kommt.
2: Syntaxfehler, falsche Kommandozeilenparameter wurden verwendet.
3: Ein Schreibfehler ist aufgetreten.
Dies ist am nützlichsten in Bash-Skripten. Aber auch in der Befehlszeile zeigen wir Ihnen, wie Sie einen Befehl ausführen lassen, wenn Sie sich in einem Terminalfenster (einer TTY- oder einer PTS-Sitzung) befinden.
tty -s && echo "In a tty"
Da wir in einer TTY-Sitzung laufen, ist unser Exit-Code 0 und der zweite Befehl wird ausgeführt.
Verwandte: Sie müssen sich diese 189 Linux-Terminalbefehle ansehen
Der who-Befehl
Der Befehl „who“ listet alle angemeldeten Benutzer auf. Benutzer2 und Benutzer3 sind remote mit dem Linux-Computer verbunden. Sie sind mit PTS eins und zwei verbunden. Benutzer1 wird als mit „:0“ verbunden angezeigt. Die Gerätedatei des Bildschirms und der Tastatur ist mit dem Multiplexer des Computers verbunden. Obwohl der Bildschirm und die Tastatur Hardwaregeräte sind, sind sie dennoch über eine Gerätedatei mit dem Multiplexer verbunden. tty gibt an, dass es /dev/pts/2 ist.
who
Zugriff auf ein TTY
Indem Sie die Tasten Strg+Alt gedrückt halten und eine der Funktionstasten drücken, können Sie auf eine TTY-Sitzung im Vollbildmodus zugreifen. Strg+Alt+F3 öffnet die Anmeldeaufforderung von tty3. Wenn Sie sich anmelden und den tty-Befehl eingeben, sehen Sie, dass Sie mit /dev/tty3 verbunden sind.
Dies ist kein gefälschter Fernschreiber (emuliert in Software); es ist ein virtueller Fernschreiber (in Hardware emuliert). Es emuliert einen virtuellen Fernschreiber wie den DEC VT100, wobei der Bildschirm und die Tastatur an Ihren Computer angeschlossen sind. Wenn Sie möchten, können Sie vier Linux-TTY-Sitzungen einrichten, indem Sie Funktionstasten mit der Kombination Strg+Alt verwenden. Wenn Sie beispielsweise diese Option auswählen und bei tty3 angemeldet sind, drücken Sie Strg+Alt+F6, um zu tty6 zu wechseln.
Um zu Ihrer grafischen Desktopumgebung zurückzukehren, drücken Sie Strg+Alt+F2. Wenn Sie eine grafische Desktop-Umgebung verwenden, gelangen Sie durch Drücken von Strg+Alt+F1 zurück zum Anmeldebildschirm Ihrer grafischen Desktop-Sitzung. Auf die Vollbild-Linux-TTY-Konsolen kann gleichzeitig mit den Tasten Strg+Alt+F1 bis Strg+Alt+F6 zugegriffen werden, und die Rückkehr zu Ihrer grafischen Desktop-Umgebung ist über Strg+Alt+F7 möglich. Wenn Sie eine ältere Linux-Distribution verwenden, funktioniert es möglicherweise so für Sie.
Dies wurde auf aktuellen Versionen von Manjaro, Ubuntu und Fedora getestet und sie haben sich alle so verhalten:
Strg+Alt+F1: Bringt Sie zum Anmeldebildschirm der grafischen Desktop-Umgebung zurück.
Strg+Alt+F2: Kehrt zur grafischen Desktop-Umgebung zurück.
Strg+Alt+F3: Öffnet TTY 3.
Strg+Alt+F4: Öffnet TTY 4.
Strg+Alt+F5: Öffnet TTY 5.
Strg+Alt+F6: Öffnet TTY 6.
Der Zugriff auf diese Vollbildkonsolen ermöglicht Benutzern, die reine Befehlszeileninstallationen von Linux verwenden, und viele Linux-Server sind auf diese Weise konfiguriert, zahlreiche Konsolen zugänglich zu machen.
Haben Sie jemals an einem Linux-System mit einer grafischen Benutzeroberfläche gearbeitet und etwas hat Ihre Sitzung eingefroren? Sie können jetzt zu einer der TTY-Konsolensitzungen wechseln, um zu versuchen, das Problem zu beheben.
Benutzen top
und ps
um nach der fehlgeschlagenen Anwendung zu suchen, sie dann mit kill zu beenden oder einfach so elegant wie möglich herunterzufahren.
Die 3 kleinen Buchstaben, die eine lange Geschichte haben
Der Linux-Befehl tty hat seinen Namen von einem veralteten Gerät aus den späten 1800er Jahren, das erstmals 1971 in Unix verwendet wurde und immer noch Teil von Linux und anderen Unix-ähnlichen Betriebssystemen ist. Dieser kleine Kerl hat eine ziemliche Geschichte hinter sich.