为什么Linux系统有多个虚拟控制台?

为什么Linux系统有多个虚拟控制台?

我们可以通过按键盘上的Ctrl+Alt+F<1-7>切换到文本控制台。

这些控制台有什么用途,为什么会有多个控制台?

答案1

为什么要有多个控制台?因为 -- 奇怪的是 -- Linux 最初是一个终端仿真器。

http://en.wikipedia.org/wiki/History_of_Linux#The_creation_of_Linux

至于“为什么是 7”?这不是操作系统固有的;实际上,您可以拥有任意数量的虚拟控制台,只要合理即可。它在/etc/inittab大多数发行版中都是可配置的。

答案2

因为如果有人在兼容 PC 上使用多用户操作系统,他就会这么做。

在小型计算机的世界里,人们有多个真实的终端,通常通过终端集中器或类似的东西,多个用户可以各自拥有一个终端。然而,在 IBM PC 的世界里,人们通常根本没有真正的终端。毕竟,它是一种个人的电脑。

因此多用户操作系统提供虚拟控制台这些控制台显示在 PC 的显示适配器上,可以使用热键组合进行切换。1982 年的 Concurrent CP/M-86 有四个虚拟控制台,可以使用键盘组合Ctrl+ 1Ctrl+ 2Ctrl+3Ctrl+进行切换4

20 世纪 80 年代初期,SCO Xenix 推出了所谓的多屏。作为 Linux 用户,您会发现它非常熟悉。最初有 10 个虚拟终端,其字符设备文件名为/dev/tty01。使用和功能键/dev/tty10在它们之间切换— 例如, +切换到虚拟控制台编号 4。也可以按+按顺序循环浏览它们。随着 Xenix 5 的发布,虚拟控制台的数量从 10 个增加到 12 个,以反映增强型 PC/AT 键盘及其附加和功能键的存在。AltAltF4ControlPrtScF11F12

除了 MP/M 和 Unix 的世界之外,PC 兼容操作系统的 VMS 和 DOS 类世界也有类似的想法。即使对于非多用户操作系统也是如此。例如,1987 年的 OS/2 1.0 版有一个会话管理器,可以从中启动最多 15 个会议Alt,显示输出和键盘/鼠标输入的单独虚拟化组合。使用+按顺序在会话之间循环,使用+Esc切换回会话管理器(从中可以启动新会话或从菜单切换到现有会话)。ControlEsc

MS-DOS 5 具有dosshell在多个程序之间切换屏幕的功能(尽管没有 OS/2 那样的多任务功能),并且具有熟悉的Alt+TabAlt+ Esc。DR-DOS 6 具有taskmax使用Control+Esc进入任务管理器和Ctrl+ 1Ctrl+2等直接切换到单个屏幕的功能。任务,可以与磁盘或扩展/扩充内存进行交换(受到一些限制)。

到 20 世纪 90 年代 Linux 出现时,人们已经形成了这样一种观念:人们在(文本模式)显示屏上看到的内容以及在键盘上输入的内容只是多个会话/任务/终端/控制台之一的虚拟化输入/输出,人们可以通过热键在它们之间进行切换。这种观念在 PC 兼容机世界中已经存在了近十年。

至于它们有什么用途,我引用 Robin Raskin 和 Kaare Christian 的话:

Xenix 的多屏功能对那些喜欢同时做几件事的人来说是个福音。只需按一下键,即可将控制台屏幕和键盘从一个登录会话切换到另一个登录会话。就好像您的办公桌上有多个终端,但只有一个物理屏幕和键盘。此功能的应用很快显现出来。例如,在准备数字表时,我在一个屏幕上使用编辑器,在另一个屏幕上使用桌面计算器程序,然后在第三个屏幕上预览打印机输出。从一个屏幕切换到另一个屏幕很简单:Alt-F1 调出编辑器屏幕,Alt-F2 调出计算器,Alt-F3 显示打印机预览。每次屏幕切换只需几分之一秒。
— Robin Raskin 和 Kaare Christian (1986 年 8 月)。“Xenix System V:AT 的多用户解决方案?”。 个人电脑杂志 5(14)。ISSN 0888-8507。Ziff Davis, Inc. 第 253–266 页

当然,如今,人们可以启动带有多个终端仿真器的 GUI,并在它们之间切换,而无需切换整个显示缓冲区,而显示适配器几乎无法在文本模式下运行。(即使在那时,人们也可以在具有图形帧缓冲区和 X Window 系统的 Unix 工作站上执行此操作。)因此,拥有多个虚拟控制台似乎不是一个功能。但对于那些来自只有真实终端的小型计算机的多用户计算世界的人来说,在办公桌上将一组终端聚集在一起曾是这是高级用户应该做的事情,特别是如果你没有screencomp.sources.unix其他作为高级用户应该做的事情,它当时确实是这样的。

进一步阅读

答案3

如果您运行服务器(没有 GUI)而不是桌面 Linux 操作系统(带有 GUI),那么您可以同时打开多个终端,而无需使用像 screen 这样的软件来管理多个终端。

在 GUI 系统上,这不是很有用,但在以下几种情况下我会使用它:

您可以使用其中一个控制台登录系统而无需加载 GUI,例如更新或修改 GUI。

如果您只需要快速执行某些操作(无需等待 GUI 完全加载),例如在几台机器上启动更新。打开其中一个控制台并使用它比加载 GUI 并打开终端并在完成后注销更快。

我有时使用它来登录一台机器(本地登录,不使用 ssh),同时另一个用户也使用 GUI 登录(无需切换用户或在他的屏幕上打开终端)

答案4

如果您有一个长期运行的工作,您可能需要查看日志文件、错误文件、系统负载、可用工作空间、可用磁盘空间、系统上有多少个用户等等。

问题变成了:不是,为什么是 7 - 但是为什么不更多......

相关内容