Perché così tante console virtuali?

24

Qual è la ragione per avere così tante console virtuali?

Capirei se ce n'era uno nel caso in cui la GUI si arresti in modo anomalo ma altri 6 oltre al valore predefinito? A cosa servono? Non vedo nemmeno l'uso di nessuno di loro tranne quando la GUI si blocca.

    
posta Hinklo 15.11.2013 - 01:33

4 risposte

14

Risposta breve: perché no? (sorriso implicito, per favore)

Più lungo: è soprattutto una storia, suppongo. Lì dove 6 console virtuali configurate con getty nel primo linux che ho avviato con il supporto VC, ho davvero dimenticato quando (era intorno al 1990, credo). Quindi, quando hai avviato l'ambiente grafico (a mano, con startx ) è stato aperto stesso sul primo VC gratuito, che è risultato essere # 7. E a quel tempo facevo ancora gran parte del mio lavoro sui VC: gli editori dove molto più veloce e a volte usavo più VC rispetto allo standard sei, e il mio laptop non era esattamente un mostro grafico ...

Ad esempio, ho usato tre editor (un programma, i suoi dati di input, un file TeX che lo descrive), un VC per la compilazione, un altro per leggere un manuale e un altro collegato via telnet al mio server di posta.

Ho il sospetto che la logica per utilizzare ancora sei console virtuali sia di lasciare il grafico VC al # 7 per tutti, così puoi scrivere sui manuali " Ctrl-Alt-F7 " e non " Ctrl-Alt-Fx dove x è il primo VC gratuito ".

Come nota a margine, puoi (suppongo --- non ho mai provato) abbattere i VC. Basta fare

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

per interrompere VC # 6, seguendo il manuale di upstart .

    
risposta data Rmano 15.11.2013 - 02:23
8

Perché non di più? Esegui top o htop in uno (fornisce statiche di utilizzo di cpu / memoria), ssh ad altri sistemi in 2 o 3, esegui alcune attività automatiche in un altro, mantiene una libera nel caso, accedi a più utenti in un pochi altri, esegui cmatrix su uno, avvia la GUI in un altro con -

startx -- :1

(alcuni elementi grafici hanno bug con questo)

link

Quando inizi veramente a utilizzare questa funzione, 7 tty (il settimo è l'impostazione predefinita) sembra un modo per pochi - e puoi aggiungerne altri.

Per ridurre il numero: Come posso ridurre il numero di TTY ?

    
risposta data Mateo 15.11.2013 - 01:59
7

Tutte le voci /dev/tty* sono conosciute come device file , in accordo con la filosofia Unix. Fungono da collegamento tra l'utente e il dispositivo reale, ma il loro scopo potrebbe essere leggermente diverso.

Console virtuali

I file di dispositivo come /dev/tty123 possono essere utilizzati per interagire con il sistema tramite shell normale. Questi sono i terminali virtuali. Il sistema Ubuntu è configurato per l'apertura di default da TTY 1 a 6, ma si può aprire manualmente di più, ad esempio:

sudo openvt -c 9 -s "bash"

Questo aprirà bash come root su / dev / tty9 e passerà immediatamente a quel TTY. Per fare lo stesso senza sudo come non-root, dovrai modificare la proprietà di tty che vuoi aprire. Ad esempio,

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

Mi collegherebbe con la mia shell predefinita su tty8. Nei miei test, tuttavia, sembra che funzioni solo tramite TTY, quindi se lo fai tramite emulatore di terminale, potrebbe non funzionare (ricevevo% errore di co_de% e solo Couldn't get a file descriptor referring to the console ha funzionato per me dall'emulatore)

Dal punto di vista storico, prima che venissero creati tutti i multiplexer terminali fantasiosi, questa era una caratteristica utile: si potevano generare fino a 62 comandi (forse server) su quelle console, e lasciarle funzionare mentre si lavora in 63o. Al giorno d'oggi, potrebbe non essere necessario.

Ci sono più file di dispositivo creati per impostazione predefinita. Quelle attive sono da 1 a 6, ma si può modificare il loro numero modificando sudo openvt -c 8 -l , in particolare questa parte:

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

ttyS * dispositivi

Si tratta di file di dispositivo usati per console seriali, detti anche UART (anche noti come RS-232). In passato molti sistemi informatici erano dotati di porta seriale. Al giorno d'oggi, questo si può trovare principalmente sul tipo di server dei computer. È possibile utilizzare più dispositivi ttyS con gli hub RS-232, che consentono di gestire più dispositivi tramite USB o Ethernet.

Per gli ingegneri elettrici (che è quello che sto laureando al college), usiamo la porta seriale per interagire con i microcontrollori e le schede di sviluppo (Arduino, per esempio). Anche i computer a porta singola, come Raspberry Pi, lo usano. Al giorno d'oggi, la connessione seriale viene stabilita tramite cavo USB-UART e l'apertura della console nel terminale tramite /etc/default/console-setup in questo modo:

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

Nota che Arduino e Raspberry creeranno il proprio file di dispositivo per la connessione seriale, screen o /dev/ttyUSB0

vcs * dispositivi

Secondo /dev/ttyACM0 questi sono dispositivi di memoria della console. In parole semplici, se fai man vcs vedrai cosa c'è sullo schermo in sudo cat /dev/vcs1 , almeno fino alla quantità massima di righe in quel terminale.

Diminuzione del numero di console

La riduzione del numero di file di dispositivo effettivi, non è possibile senza alterare la libreria /dev/tty1 e ricompilare il kernel ( Riferimento e altro ). Tuttavia, l'eliminazione di tali dispositivi può essere eseguita manualmente tramite questo comando:

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

Questo, tuttavia, è in qualche modo inutile: i file del dispositivo non occupano spazio e non influenzano le prestazioni del sistema.

    
risposta data Sergiy Kolodyazhnyy 28.08.2016 - 18:08
4

La praticità è reale. Possono esserci più programmi contemporaneamente in esecuzione nel vero sistema Linux multi-utente, e si può effettuare il check-in per ciascuno di essi se ognuno viene eseguito nel proprio terminale virtuale. Quando si accede a ciascuno di essi, è possibile accedere come utenti diversi, se necessario. Ora, nonostante tutto, molte persone arrivano a Linux con una prospettiva a utente singolo, ma poiché Linux è nato multiutente, questa capacità non è mai stata scartata.

    
risposta data K7AAY 15.11.2013 - 01:55

Leggi altre domande sui tag