linux – Xorg如何工作?

我试图了解Xorg是如何工作的.

我创建了以下图像以显示我的理解(此图显示了按Ctrl Alt F7后组件的状态):

linux  –  Xorg如何工作?

以下是图像的说明:

> / dev / tty7是Xorg的控制终端.
> Xorg直接与VGA驱动程序对话以在屏幕上绘图(它不会将要绘制的内容发送到TTY驱动程序).
> Xorg直接从键盘和鼠标驱动程序接收输入(它不接收来自TTY驱动程序的键盘和鼠标输入).
>虚拟终端还接收来自键盘驱动程序的输入(但根据我的测试,它接收密钥的扫描代码).
> X客户端(图像中的xterm和Firefox)没有控制终端.

我的理解是否正确?

解决方法:

您的描述与图表不完全匹配,并且比图表更正确.

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"

您可以通过读取/ dev / input / event2来查看我的X服务器从USB键盘获取输入.

对于输出,我不知道是否有类似的用户级工具. xrandr –listproviders列出正在使用或可用的图形驱动程序,但不列出/ dev条目.您可以使用lsof -p $(pgrep Xorg)或更少的/var/log/Xorg.0.log查看X服务器已打开的图形设备.

控制终端的概念是为文本模式会话而设计的. X服务器可能有也可能没有控制终端,具体取决于它的启动方式.从GUI菜单启动的X程序通常没有控制终端,因为窗口管理器没有控制终端.从终端中运行的shell启动的X程序确实将该终端作为控制终端.

上一篇:linux – 一些Netflix视频显示水平撕裂(闪烁的线条)


下一篇:linux – 随机退出