答案1
您的描述与您的图表不太相符,并且比您的图表更正确。
X 服务器不使用 tty 驱动程序进行输入或输出。它直接从各种输入设备的驱动程序读取输入,并将输出直接发送到显卡驱动程序。
您可以使用 列出输入设备xinput
,然后使用 获取更多信息xinput list-props
。例如:
$ xinput | tail -n 1
↳ USB Keyboard id=10 [slave keyboard (3)]
$ xinput list-props 10 | tail -n 1
Device Node (263): "/dev/input/event2"
您可以看到我的 X 服务器通过读取从我的 USB 键盘获取输入/dev/input/event2
。
对于输出,我不知道是否有类似的用户级工具。xrandr --listproviders
列出正在使用或可用的图形驱动程序,但不列出/dev
条目。您可以使用lsof -p$(pgrep Xorg)
或来查看 X 服务器打开了哪个图形设备less /var/log/Xorg.0.log
。
控制终端的概念是为文本模式会话而设计的。 X 服务器可能有也可能没有控制终端,具体取决于它的启动方式。从 GUI 菜单启动的 X 程序通常没有控制终端,因为窗口管理器没有控制终端。从在终端中运行的 shell 启动的 X 程序确实将该终端作为控制终端。