gpt4 book ai didi

linux - Framebuffer、VT、tty 之间有什么关系?

转载 作者:行者123 更新时间:2023-12-01 17:35:11 29 4
gpt4 key购买 nike

我现在正在研究Ctrl+Alt+F1~F7背后的机制是什么。

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

在网上查了一下,做了一个图。

figure

我认为VT是一套显示器和键盘。如果我想在一组(一个 VT)中使用多个 tty,我必须在 tty 之间切换,因为我只有一台显示器来显示它们。这是 VT 开关。但VT到底是什么?驱动程序、模块还是其他什么?

我想如果我有两组显示器和键盘连接到我的计算机,我可以将它们分组以形成两个 VT。我可以在监视器1中显示我的tty1并使用键盘1控制它,并使用监视器2和键盘2控制它。我也可以在两个 VT 中进行 VT Switch。这是真的吗?

我认为我可以将帧缓冲区(fbcon + fbdev)视为显卡驱动程序,但它是为控制台设计的,而不是通用目的(专有驱动程序)。

另外,/dev下还有一些特殊的文件

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

/dev/vcs* 用于 VT 屏幕
cat可以获取屏幕中的文本,但是在X下使用它获取全零(不为空)。

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

请告诉我哪里错了。

最佳答案

  1. 正确的 tty 和 pty 是终端。但差别很小。 pty 是伪终端。打开终端类型 tty 将返回 pts 终端。 tty 通常是物理的,如果您使用嵌入式 Linux,您可以将 Linux 控制台重定向到不同的 tty,即 uart 终端。如果您使用 9 针 UART 电缆。然后你就可以使用ttyX了。
  2. vcs 是 X-Server 时代之前使用的不同屏幕。或者现在在未安装 X 服务器(甚至 Wayland 服务器)的服务器中。在运行级别 3 和 5 中。尝试使用 CTRL + ALT + F3 访问/dev/vc3。您可以类似地 echo 和 cat。

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

关于linux - Framebuffer、VT、tty 之间有什么关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48627344/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com