it-swarm.com.de

Warum so viele virtuelle Konsolen?

Was ist der Grund für so viele virtuelle Konsolen?

Ich würde verstehen, wenn es eine für den Fall gab, dass die GUI abstürzt, aber 6 weitere neben der Standardeinstellung? Wofür sind sie? Ich sehe sogar keine Verwendung für einen von ihnen, außer wenn die GUI einfriert.

25
Hinklo

Kurze Antwort: warum nicht? (implizites Lächeln, bitte)

Langer gesagt: Ich nehme an, es ist größtenteils eine Geschichte. Dort, wo 6 virtuelle Konsolen mit getty in dem ersten Linux konfiguriert waren, das ich mit VC -Unterstützung gebootet habe, habe ich wirklich vergessen, wann (es war ungefähr 1990, glaube ich). Dann, als Sie die grafische Umgebung starteten (von Hand, mit startx ), öffnete sie sich auf der ersten freien VC, die zufällig # 7 war. Und ich habe damals noch den größten Teil meiner Arbeit an VCs gemacht: Die Editoren waren viel schneller und manchmal habe ich mehr VCs verwendet als die Standard-Sechs, und mein Laptop war nicht gerade ein Grafik-Monster ...

Ich habe zum Beispiel drei Editoren ausgeführt (ein Programm, seine Eingabedaten, eine TeX-Datei, die es beschreibt), einen VC zum Kompilieren, einen anderen zum Lesen eines Handbuchs und einen anderen, der über Telnet mit meiner Mail verbunden war Server.

Ich vermute, dass der Grund für die weitere Verwendung von sechs virtuellen Konsolen darin besteht, die Grafik VC auf # 7 für alle zu lassen, sodass Sie in die Handbücher "Ctrl-Alt-F7" und nicht "Ctrl-Alt-Fx" schreiben können. wobei x die erste freie VC ist ".

Als Randnotiz können Sie (ich nehme an - habe es nie versucht) die VCs verkleinern. Einfach machen

 Sudo bash -c "echo 'manual' >> /etc/init/tty6.override"

um VC # 6 zu stoppen, im Anschluss an das Upstart-Handbuch .

15
Rmano

Warum nicht mehr Führen Sie top oder htop in einem aus (gibt CPU/Speicher-Nutzungsstatistik an), ssh in 2 oder 3 für andere Systeme, führen Sie eine automatisierte Aufgabe in einem anderen aus, halten Sie eine frei, nur für den Fall, Melden Sie sich bei mehreren Benutzern in einigen weiteren an, führen Sie cmatrix auf einem aus, starten Sie die GUI in einem anderen mit -

startx -- :1

(Einige Grafiken haben Fehler damit)

http://mostlylinux.wordpress.com/troubleshoot/ttysessions/

Wenn Sie wirklich anfangen, diese Funktion zu nutzen, scheinen 7 tty (die siebte ist die Standardeinstellung) viel zu wenig zu sein - und Sie können noch mehr hinzufügen.

So reduzieren Sie die Anzahl: Wie kann ich die Anzahl der TTYs reduzieren?

9
Mateo

Alle /dev/tty* -Einträge sind gemäß der Unix-Philosophie als device file bekannt. Sie dienen als Verbindung zwischen Benutzer und tatsächlichem Gerät, können sich jedoch in ihrem Zweck geringfügig unterscheiden.

Virtuelle Konsolen

Gerätedateien wie /dev/tty123 können verwendet werden, um über eine reguläre Shell mit dem System zu interagieren. Dies sind virtuelle Terminals. Das Ubuntu-System ist so konfiguriert, dass standardmäßig TTY 1 bis 6 geöffnet wird. Es können jedoch auch mehrere manuell geöffnet werden. Beispiel:

Sudo openvt -c 9 -s "bash"

Das öffnet bash als root auf/dev/tty9 und wechselt sofort zu diesem TTY. Um das Gleiche ohne Sudo als Nicht-Root-Benutzer zu tun, müssen Sie den Eigentümer von tty ändern, das Sie öffnen möchten. Zum Beispiel,

$ Sudo chown xieerqi:tty /dev/tty8 
$ openvt -c 8 -l 

Das würde mich mit meiner Standard-Shell auf tty8 anmelden. In meinen Tests scheint es jedoch, dass dies nur über TTY funktioniert. Wenn Sie dies also über den Terminal-Emulator tun, funktioniert dies möglicherweise nicht (ich habe den Fehler Couldn't get a file descriptor referring to the console erhalten und nur Sudo openvt -c 8 -l hat für mich funktioniert vom Emulator)

Aus historischer Sicht war dies eine nützliche Funktion, bevor alle ausgefallenen Terminal-Multiplexer erstellt wurden - Sie konnten bis zu 62 Befehle (möglicherweise Server) auf diesen Konsolen erzeugen und sie ausführen lassen, während Sie in der 63. Version arbeiteten. Heutzutage ist es vielleicht nicht mehr so ​​notwendig.

Standardmäßig werden mehrere Gerätedateien erstellt. Aktive sind 1 bis 6, aber man kann ihre Nummer ändern indem man /etc/default/console-setup editiert, speziell diesen Teil:

# Setup these consoles.  Most people do not need to change this.
ACTIVE_CONSOLES="/dev/tty[1-6]"

ttyS * Geräte

Dies sind Gerätedateien, die für serielle Konsolen verwendet werden, auch bekannt als UART (auch bekannt als RS-232). In der Vergangenheit hatten viele Computersysteme eine serielle Schnittstelle. Heutzutage ist dies meistens auf Servertypen von Computern zu finden. Mit RS-232-Hubs können mehrere ttyS-Geräte nützlich sein, mit denen die Verbindung mehrerer Geräte über USB oder Ethernet verwaltet werden kann.

Für Elektrotechniker (was ich am College studiere) verwenden wir die serielle Schnittstelle, um mit Mikrocontrollern und Entwicklungsplatinen (zum Beispiel Arduino) zu interagieren. Single-Port-Computer wie Raspberry Pi verwenden es ebenfalls. Heutzutage wird die serielle Verbindung über das USB-KabelUARThergestellt und die Konsole im Terminal über screen wie folgt geöffnet:

screen /dev/ttyUSB0 115200 # the number is baud rate or speed

Beachten Sie, dass Arduino und Raspberry ihre eigene Gerätedatei für die serielle Verbindung /dev/ttyUSB0 oder /dev/ttyACM0 erstellen.

vcs * geräte

Laut man vcs handelt es sich um Konsolenspeichergeräte. Mit einfachen Worten, wenn Sie Sudo cat /dev/vcs1 ausführen, sehen Sie, was in /dev/tty1 auf dem Bildschirm angezeigt wird, mindestens bis zur maximalen Anzahl von Zeilen in diesem Terminal.

Anzahl der Konsolen verringern

Das Verringern der Anzahl der tatsächlichen Gerätedateien ist nicht möglich, ohne die Bibliothek tty.h zu ändern und den Kernel neu zu kompilieren ( Referenz und eine andere ). Das Löschen dieser Geräte kann jedoch manuell über diesen Befehl erfolgen:

Sudo bash -c 'for num in $(seq 10 63 ) ; do MAKEDEV -v -d "tty$num" ; done'

Dies ist jedoch etwas sinnlos - die Gerätedateien belegen keinen Speicherplatz und beeinflussen die Systemleistung nicht.

8

Die Praktikabilität ist real. Auf einem Linux-System mit mehreren Benutzern können mehrere Programme gleichzeitig ausgeführt werden, und Sie können vorbeischauen, um zu überprüfen, ob jedes auf einem eigenen virtuellen Terminal ausgeführt wird. Wenn Sie sich bei jedem anmelden, können Sie sich bei Bedarf als unterschiedliche Benutzer anmelden. Zugegeben, viele Leute kommen mit einer Einzelbenutzerperspektive zu Linux, aber da Linux für mehrere Benutzer entwickelt wurde, wurde diese Fähigkeit nie verworfen.

6
K7AAY