use*_*202 5 linux xorg terminal tty
我试图了解 Xorg 的工作原理。
我创建了下图来显示我的理解(此图显示了按 Ctrl+Alt+F7 后组件的状态):
下面是对图片的解释:
/dev/tty7 是 Xorg 的控制终端。我的理解正确吗?
Gil*_*il' 10
您的描述与您的图表不太匹配,并且比您的图表更正确。
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"
Run Code Online (Sandbox Code Playgroud)
您可以看到我的 X 服务器通过从/dev/input/event2.
对于输出,不知道有没有类似的用户级工具。xrandr --listproviders列出正在使用或可用的图形驱动程序,但不列出/dev条目。您可以查看 X 服务器打开的图形设备lsof -p$(pgrep Xorg)或less /var/log/Xorg.0.log。
控制终端的概念是为文本模式会话设计的。X 服务器可能有也可能没有控制终端,这取决于它是如何启动的。从 GUI 菜单启动的 X 程序通常没有控制终端,因为窗口管理器没有控制终端。从终端中运行的 shell 启动的 X 程序确实将该终端作为控制终端。