Questa è una funzionalità fornita da quasi tutti, se non da tutti, Unix e Unix come quelli in esecuzione su hardware x86. È interessante notare che le console virtuali sono state introdotte per la prima volta in un Unix da Microsoft Xenix nei primi anni ottanta ed erano disponibili anche in CP / M simultanei.
Questa funzione è stata successivamente integrata in AT&T SVR4 Unix, Solaris e presa in prestito da BSD e Linux.
Perché UNIX / Linux fornisce più emulatori di terminale?
Quando furono introdotti per la prima volta, non esisteva un ambiente grafico disponibile per le macchine che eseguivano queste implementazioni Unix. Sebbene lo standard fosse disporre di un terminale fisico collegato a un server Unix centrale tramite linee RS232, il collegamento di più terminali a un PC standard su cui era in esecuzione Xenix era eccessivo se l'obiettivo era solo che un singolo utente eseguisse più programmi interattivi contemporaneamente. I terminali virtuali hanno fornito una soluzione elegante e conveniente a tale problema.
Altre implementazioni Unix in seguito hanno fornito la stessa funzionalità per soddisfare la stessa esigenza.
Quando gli ambienti grafici, in particolare X11, si sono diffusi, essere in grado di vedere più emulatori di terminale contemporaneamente sullo stesso schermo è stato un miglioramento significativo. La funzionalità della console virtuale è stata generalmente mantenuta, se non altro perché era comunque conveniente poter passare a una console se l'ambiente grafico fosse bloccato o disfunzionale per qualche motivo.
Si noti che le utilità piacciono screen
e sono tmux
arrivate molto più tardi rispetto ai terminali virtuali per generalizzare la stessa funzionalità. Il loro vantaggio è che può essere non utilizzato solo su console fisica locale, ma anche su quello della sessione, locale o remoto (ad esempio telnet
, ssh
). Se utilizzate sulla console fisica, le console virtuali sono ancora utili in quanto sono funzionali in alcune situazioni in cui screen
/ tmux
non possono essere di aiuto, come se X11 è bloccato o se una finestra ha catturato il focus e non lo rilascia.
La virtualizzazione basata su container come le zone Solaris o Linux LXC fornisce anche un metodo per connettersi alla console del contenitore tramite zlogin -C zone
e lxc-console -t 0 -n container
rispettivamente.