Linux有7个虚拟控制台,分别对应7个设备文件/dev/tty[n]
。
虚拟控制台是否像终端模拟器一样作为进程运行?(我不确定。似乎虚拟控制台是内核的一部分,如果这是正确的,它就不可能是一个进程。)
虚拟控制台是否是基于伪终端实现的,就像终端模拟器一样?(我猜不是。否则,虚拟控制台的设备文件将是/dev/pts/[n]
,而不是/dev/tty[n]
)
谢谢。
Linux有7个虚拟控制台,分别对应7个设备文件/dev/tty[n]
。
虚拟控制台是否像终端模拟器一样作为进程运行?(我不确定。似乎虚拟控制台是内核的一部分,如果这是正确的,它就不可能是一个进程。)
虚拟控制台是否是基于伪终端实现的,就像终端模拟器一样?(我猜不是。否则,虚拟控制台的设备文件将是/dev/pts/[n]
,而不是/dev/tty[n]
)
谢谢。
这是不正确的。
Linux内核中内置了一个终端仿真器程序。它不会表现为具有打开文件句柄的正在运行的进程。它也不需要伪终端设备。它位于帧缓冲区和输入事件子系统之上,它使用内部内核接口进行访问。它以一系列 63 个(不是 7 个)内核虚拟终端设备的形式呈现给应用程序模式系统,
/dev/tty1
到/dev/tty63
.用户空间虚拟终端使用伪终端设备实现。伪终端设备、内核虚拟终端设备和层叠在串口之上的真实终端设备是Linux中的三种终端设备(就应用程序而言)。
由于缺乏协调,Linux 文档现在在这个主题上相当糟糕。多年来,在几个 Linux 操作系统上都没有内核虚拟终端设备的手册页,尽管还有其他两种终端设备的页面。本手册页将解释正确的编号或设备及其设备文件名,并用于阅读:
Debian 的人注意到 Debian
console
在 2014 年缺少 (4) 手册页,并转而从 Linux Manpages 项目安装一个手册页,只是为了让同一项目中的人在console
一年后删除他们的 (4) 手册页2016 年,因为“Debian 及其衍生产品不安装此页面”和“Debian 不再携带它”。进一步阅读
ttyS
. Linux 程序员手册。迈克尔·克里斯克。1992 年 12 月 19 日。pty
. Linux 程序员手册。迈克尔·克里斯克。2017-09-15。console
(4),但已不存在。Debian 错误 #774022。console.4
:现在包含在此软件包中。(关闭:#774022) ”。 手册页 4.04-0.1。变更日志。console
(4) 过时了。内核错误 #110481。console.4
:删除过时的页面”。手册页。内核.org。console
. Linux 程序员手册。建议。vt
. Linux 程序员手册。建议。从某种意义上说,它们是产生/随时可用的。它是
/etc/inittab
通过在多用户运行级别中生成多个 (a)gettys 来 配置的。有一次我引用pideins(
getty.target
把我送到那里):一个 VT 经常用于 GUI - 可能计数或不计数。
systemd 做得更微妙,但结果完全一样。一种正交的感觉,尤其是当您使用箭头键翻阅 tty 时。
chvt 20
让我进入一个空白的“终端”(默认 systemd)——首先需要一些 getty 来激活它。然后你就这样处理它,或者把你的 Fn 键变成一个风琴。或使用 Alt 箭头。在某种程度上是的。它需要一个
getty
进程来打开一个 ttyX。