例如,foobar:0.1
将在名为 foobar
的机器上指定显示 0 的屏幕 1 .
但是Xlib中X服务器的屏幕号和显示号是什么意思呢?
是不是说一个X服务器可以有很多显示器,一个显示器可以有很多屏幕,一个屏幕可以有很多窗口呢?
最佳答案
xlib/x11 协议(protocol)术语中的“显示”是客户端和 X 服务器之间的单一连接。
“屏幕”是实际的屏幕,但这里的情况变得更加复杂。每个屏幕都有自己的根窗口(以及一些更相关的属性 - 物理宽度/高度、DPI 等)。因为屏幕上的每个窗口都是该根窗口的子窗口,所以您不能只是将窗口从一个屏幕移动到另一个屏幕(X11 下的所有子窗口总是被父窗口剪切)。这是您的问题中几乎从未使用过多个“屏幕”的原因之一 - 大多数人使用 Xinerama/RANDR 将多台显示器配置为一个 X11 屏幕的一部分扩展
总结一下:一个显示器 - 一个连接(如果通过网络,连接到端口 6000 + 显示器编号)。每个屏幕 - 它都有自己的根窗口。允许一个客户端与 X 有多个连接(因此使用多个 Display 实例)
关于xlib - Xlib中的屏幕编号和显示编号是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26017771/