これは、すべてではないにしても、ほとんどすべてのUnixおよびx86ハードウェアで実行されているようなUnixによって提供される機能です。興味深いことに、仮想コンソールは80年代前半にMicrosoft XenixによってUnixで最初に導入され、同時CP / Mでも利用可能でした。
この機能は後にAT&T SVR4 Unix、Solarisに統合され、BSDとLinuxによって借用されました。
UNIX / Linuxが複数の端末エミュレータを提供するのはなぜですか?
それらが最初に導入されたとき、これらのUnix実装を実行しているマシンで利用できるグラフィック環境はありませんでした。物理端末をRS232回線を介して中央のUnixサーバーに接続するのが標準でしたが、Xenixを実行している標準PCに複数の端末を接続するのが目的で、1人のユーザーが複数の対話型プログラムを同時に実行するだけの場合は、やり過ぎでした。仮想端末は、その問題に対してエレガントで便利なソリューションを提供しました。
他のUnix実装では、後で同じ機能を提供して同じニーズに対応しました。
グラフィック環境、特にX11が普及したとき、同じ画面で複数の端末エミュレータを同時に表示できるようになったことで、大幅な改善が見られました。しかし、仮想コンソール機能は、グラフィック環境がフリーズしたり、何らかの理由で機能不全になった場合にコンソールに切り替えることができると便利な場合に限り、一般的に維持されました。
などのユーティリティことを注意screen
とすると、tmux
同じ機能を一般化するためにずっと後の仮想端末より来ました。その利点は、(例えばローカルまたはリモートのどちらか、彼らは唯一のローカルの物理的なコンソールではなく、どのようなセッションに使用される非可能ですtelnet
、ssh
)。物理コンソールで使用した場合、仮想コンソールは、X11がフリーズしている場合や、ウィンドウがフォーカスを取得して解放していない場合など、screen
/ tmux
が役に立たない状況で機能するため、依然として有用です。
SolarisゾーンやLinux LXCのようなコンテナベースの仮想化もzlogin -C zone
、lxc-console -t 0 -n container
それぞれ経由でコンテナコンソールに接続する方法を提供します。