framebuffer,VT和tty之间有什么关系?

时间:2018-02-05 16:42:37

标签: linux linux-kernel linux-device-driver framebuffer tty

我正在研究 Ctrl + Alt + F1 F7 背后的机制是什么。< / p>

我发现了一些关于framebuffer,VT和tty的信息。我知道framebuffer是图形卡操作的抽象,而tty(和pts)是程序与之交互的东西。我也发现有些人在谈论VT(虚拟终端),但我不知道它们之间的关系是什么。

在网上搜索后,我做了一个数字。

enter image description here

我认为VT是一组显示器和键盘。如果我想在一组(一个VT)中使用许多tty,我必须在ttys之间切换,因为我只有一个显示器来显示它们。这是VT Swich。但实际上VT究竟是什么?驱动程序,模块或其他什么东西?

我想如果我有两套显示器和键盘连接到我的电脑,我可以将它们组合成两个VT。我可以在monitor1中显示我的tty1并使用keyboard1控制它,并使用monitor2和keyboard2控制tty2。我也可以在VT中进行VT Switch。这是真的吗?

而且我认为我可以将framebuffer(fbcon + fbdev)视为图形卡驱动程序,但它是为控制台设计的,而不是用于通用目的(专有驱动程序)。

此外,/ dev

下还有一些特殊文件

/dev/tty*/dev/pts/*适用于tty
echo可以向tty发送输入,cat可以从tty接收输出。

/dev/vcs*用于VT的屏幕 cat可以在屏幕上显示文本,但在X下使用它会全部为零(非空)。

/dev/fb*用于帧缓冲 cat可以获取屏幕中的整个像素,但在X下使用它会全部为零(非空)。我听说X服务器不使用framebuffer,那么它有什么用?

请告诉我错在哪里。

1 个答案:

答案 0 :(得分:1)

  1. 正确的tty和pty是终端。但差异很小。 pty是伪终端。打开终端类型tty将返回pts终端。如果您使用过嵌入式Linux,则tty通常是物理的,您可以将linux控制台重定向到其他utart终端tty。如果您使用9针uart电缆。那么您可以使用ttyX。
  2. vcs是X-Server erra之前使用的不同屏幕。或现在在未安装X服务器(甚至Wayland Server)的服务器中。在运行级别3和5中尝试使用CTRL + ALT + F3访问/ dev / vc3。您可以类似地回声和逗猫。

  3. 帧缓冲区是图形子系统的一部分,不应与cat一起使用。它是矩阵。它在连接的任何屏幕上的抽象。由图形驱动程序和应用程序使用。