In den 1970er Jahren hatten wir ein Hardware-Terminal mit CUI-Schnittstelle (Character User Interface) für die Eingabe / Ausgabe.
Jetzt haben wir Terminalemulatoren ( Ctrl+ Alt+ Fn) in der Unix / Linux-Welt.
In Ubuntu OS sehe ich sieben Terminalemulatoren, wobei die GUI den 7. Terminalemulator belegt ( Ctrl+ Alt+ F7).
Zum Beispiel ist dies mein erster Terminalemulator ( Ctrl+ Alt+ F1)
$ tty
/dev/tty0
Warum bietet Unix / Linux mehrere Terminalemulatoren an?
Antworten:
Aus dem gleichen Grund unterstützt Ihr GUI-Terminal-Emulator wahrscheinlich Registerkarten (z. B. GNOME-Terminal). Wenn dies nicht der
rxvt
Fall ist (z. B. ), wird aus dem gleichen Grund beim Starten einer zweiten GUI-Terminal-App-Instanz nicht nur die erste in den Vordergrund gezogen und beendet. Sie werden gezwungen, die erste Instanz zu verwenden.Ich verwende routinemäßig mindestens 3 Terminalfenster in meiner Arbeit und oft mehr:
Texteditor für die Serverseite des Systems, an dem ich arbeite
Texteditor für die Client-Seite desselben Systems
Befehlsfenster zum Ausführen des Servers
Ich benötige selten ein viertes Terminal zum Ausführen des Client-Programms, da es normalerweise an anderer Stelle ausgeführt wird (Web-App, native GUI-App, mobile App usw.), aber wenn ich einen CLI-Client für meine Server-App entwickeln würde, hätte ich ein separates Terminal auch dafür offen.
In der Vergangenheit, bevor
sudo
ich populär wurde, hielt ich einroot
Terminal die ganze Zeit offen.Ich verwende Unix / Linux-Boxen heutzutage selten interaktiv an der Konsole ohne GUI, aber ich führe sie oft kopflos aus und greife über SSH darauf zu. Mein SSH-Terminal-Client Ihrer Wahl unterstützt Registerkarten, die wie oben konfiguriert sind.
Bei einem meiner aktuellen Hobbyprojekte verwende ich gelegentlich ein echtes altes Glasterminal , was bedeutet, dass ich nicht mehr mehrere Terminalfenster habe. Daher lerne ich endlich etwas über GNU
screen
, ein Programm, für das ich vorher nie viel gebraucht hatte entweder mehrere Konsolenterminals oder mehrere GUI-Terminals. Und was machtscreen
das? Sie können es unter anderem so konfigurieren, dass Sie mehrere virtuelle Terminals auf einem einzigen Bildschirm haben, genau wie Linux es mit Ctrl- Alt- tut .Fxquelle
Dies ist eine Funktion, die von fast allen, wenn nicht allen Unix- und Unix-Versionen auf x86-Hardware bereitgestellt wird. Interessanterweise wurden virtuelle Konsolen Anfang der achtziger Jahre von Microsoft Xenix erstmals in einem Unix eingeführt und waren auch in gleichzeitigem CP / M verfügbar.
Diese Funktion wurde später in AT & T SVR4 Unix, Solaris integriert und von BSDs und Linux ausgeliehen.
Bei ihrer Einführung war für die Computer, auf denen diese Unix-Implementierungen ausgeführt werden, keine grafische Umgebung verfügbar. Während ein physisches Terminal, das über RS232-Leitungen mit einem zentralen Unix-Server verbunden war, der Standard war, war das Verbinden mehrerer Terminals mit einem Standard-PC unter Xenix zu viel des Guten, wenn nur ein einzelner Benutzer mehrere interaktive Programme gleichzeitig ausführen wollte. Virtuelle Terminals boten eine elegante und bequeme Lösung für dieses Problem.
Andere Unix-Implementierungen stellten später dieselbe Funktion bereit, um denselben Bedarf zu decken.
Wenn sich grafische Umgebungen, insbesondere X11, ausbreiteten, war es eine signifikante Verbesserung, mehrere Terminalemulatoren gleichzeitig auf demselben Bildschirm sehen zu können. Die Funktion der virtuellen Konsole wurde jedoch im Allgemeinen beibehalten, schon allein deshalb, weil es immer noch praktisch war, zu einer Konsole wechseln zu können, wenn die grafische Umgebung aus irgendeinem Grund eingefroren oder nicht funktionsfähig ist.
Beachten Sie, dass Dienstprogramme wie
screen
undtmux
viel später als virtuelle Terminals verwendet werden, um dieselbe Funktionalität zu verallgemeinern. Ihr Vorteil ist , können sie verwenden nicht sein nur auf der lokalen physische Konsole, sondern auch auf jeder beliebigen Sitzung, entweder lokal oder entfernt (zBtelnet
,ssh
). Bei Verwendung auf der physischen Konsole sind virtuelle Konsolen immer noch nützlich, da sie in einigen Situationen funktionieren, in denenscreen
/tmux
kann nicht helfen, z. B. wenn X11 eingefroren ist oder wenn ein Fenster den Fokus erfasst hat und ihn nicht freigibt.Container basierten Virtualisierungs wie Solaris Zonen oder Linux LXC auch ein Verfahren zum Behälter Konsole über eine Verbindung
zlogin -C zone
undlxc-console -t 0 -n container
verbunden.quelle
Ich nehme an, ein guter Grund für zusätzliche Terminalemulatoren ist, dass Sie schnell zu einem Terminalemulator wechseln und alle Probleme in der grafischen Oberfläche beheben können, wenn Sie in Ihrer grafischen Oberfläche etwas falsch machen und es unbrauchbar wird. Dies passiert tatsächlich ziemlich oft, wenn Sie Änderungen an Ihrem Fenstermanager oder anderen Funktionen der grafischen Oberfläche vornehmen. Ich nehme an, es wäre auch nützlich, ein paar weitere Terminals zu haben, jedoch scheint es etwas übertrieben zu sein, 6 über der grafischen Hauptoberfläche zu haben.
Korrigieren Sie mich auch, wenn ich falsch liege, aber ist es nicht möglich, mehrere Befehle als unterschiedliche Benutzer von einem einzigen Terminalemulator aus auszuführen?
quelle
Viele der anderen Fragen scheinen zu beantworten, warum die Funktion eingeführt wurde.
Die eigentliche Frage lautet jedoch:
"tut", nicht "tat".
Wenn Sie sich also auf die aktuelle Zeit konzentrieren, gibt es einige aktuelle Gründe:
Ich kann mich zum Beispiel daran erinnern, dass Alt-Strg-F2 der Texteditor ist, der eine Textdatei (z. B. Dokumentation) betrachtet, und Alt-Strg-F3 verwendet wird, um schnell eine andere Datei (z. B. eine Konfigurationsdatei) zu betrachten. und Alt-Strg-F4 wird für eine Eingabeaufforderung verwendet, während der grafische Desktop zwischen Webbrowsing, E-Mail, Musik-Player usw. aufgeteilt werden kann.
Zusammenfassend gibt es nicht viel Grund, dies nicht zu unterstützen. Es gibt einige Vorteile, die manche Menschen zumindest manchmal schätzen und die nicht viel kosten.
Tatsächlich kann das Entfernen der Unterstützung dafür mehr Arbeit bedeuten, als nur die Unterstützung dort zu belassen. Obwohl das Entfernen der Unterstützung wahrscheinlich einfach wäre, kann es schwierig sein, das Problem zu identifizieren und zu beheben, wenn etwas kaputt geht. Die Reduzierung des Aufwandes (für die Entwicklung der nächsten Version eines Betriebssystems) ist ein weiterer Grund, die Dinge einfach so zu lassen, wie sie sind. Das bedeutet, dass diese Funktion weiterhin verfügbar ist.
quelle
Als erstes haben Sie nach einer Funktion eines Kernels namens Linux gefragt. Nicht von Unix im Allgemeinen und nicht von Gnu.
Warum, müssten Sie die Autoren fragen. Ich vermute jedoch, dass es einem Administrator eines nicht vernetzten Geräts (hier füge ich einen RS232 als Netzwerktyp hinzu) ermöglicht, sich anzumelden und einige Verwaltungsarbeiten auszuführen, ohne einen anderen Benutzer abzumelden.
quelle