我已经使用 Linux 一段时间了,但一直没有清楚地理解控制台和终端术语之间的区别。线 描述了这个话题,但它给我带来了一些困惑。以下是我的问题。
- 我是否正确认为控制台和终端只是同义词,所以考虑单个 Linux 站,我们有一个物理控制台/终端,它是一个物理键盘和显示器,以及许多可以通过 ctrl + alt + Fx 组合切换的虚拟控制台/终端?
- ctrl + alt + Fx 与实用程序有何不同
screen
?
答案1
在古代,终端是连接到计算机的文本设备:最初是机械的电传打字机,后来视频终端缩写tty
(TeleTYpe)和vt
(Video Terminal)仍然来自这个时代。
这安慰最初是计算机控制台面板上提供的开关和指示灯(这里这是 PDP-11/20 的前面板图片,该机器运行 1972 年的 Unix 第 1 版。后来它被用作连接到计算机的特殊电传打字机/终端。操作员可以使用控制台执行特权操作。
后来,硬件终端又被终端仿真器例如xterm
:GUI 程序允许您键入文本并查看响应,通过双向基于字符的通道与系统的其余部分进行通信,就像串行线路上的旧电传打字机和视频终端一样。
因此,对于 PC 上的 Linux,问题在于用什么来替代旧电脑的控制台终端。显而易见的解决方案是使用现有的键盘和屏幕,但这有点限制,因为只有一个控制台供系统使用,没有其他终端可以进行实际工作。而且家庭用户没有可以连接到串行线路的额外终端。因此虚拟控制台发明了:多个控制台(如“在主计算机的前面板上”)终端,您可以使用 Ctrl-Alt-Fn 组合键在它们之间切换。然后出现了 X,其中一个虚拟控制台用于启动 X,因此“X 在虚拟控制台上运行”,此时旧术语不再有意义了。:-)
因此,如今,控制台和终端通常意味着同一件事。但在指代系统的既定部分时,仍然存在区别:它是终端控制字符的数据库(termcap、TERM
变量)。控制当前活动的虚拟安慰Linux下是/dev/console
。 等等。
Screen
/tmux
使用与虚拟控制台相同的多路复用理念,但不是在真实的 PC 键盘和显示器上,而是里面现有终端。因此,您可以使用一个终端连接来运行多个终端,无论它是在终端仿真器、连接到串行线路的视频终端还是 Linux 控制台中运行。