Xlib中的屏幕号和显示号是什么意思?

时间:2014-09-24 13:08:06

标签: xlib

例如,foobar:0.1将在名为foobar的计算机上指定显示0的屏幕1。

但Xlib的X服务器的屏幕号和显示号是什么意思?

这是否意味着X服务器可以有多个显示器,显示器可以有多个屏幕,屏幕可以有多个窗口?

1 个答案:

答案 0 :(得分:9)

xlib / x11协议术语中的“显示”是客户端和X服务器之间的单个连接。

“屏幕”是实际屏幕,但事情变得更加复杂。每个屏幕都有自己的根窗口(以及一些更多关联的属性 - 物理宽度/高度,DPI等)。因为屏幕上的每个窗口都是该根窗口的子窗口,所以不能只将窗口从一个屏幕移动到另一个屏幕(X11下的所有子窗口总是被父窗口剪切)。这是您的问题中多个“屏幕”几乎从未使用过的原因之一 - 大多数人使用Xinerama/RANDR扩展名将多台显示器配置为一个X11屏幕的一部分

总结:一个显示器 - 一个连接(如果通过网络,到端口6000 +显示器号)。每个屏幕 - 它自己的根窗口。允许一个客户端与X有多个连接(因此使用多个Display实例)