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

4
例如,foobar:0.1表示在名为foobar的机器上的第0个显示器的第1个屏幕。但是,在Xlib中,屏幕号和显示器号是什么意思?这是否意味着一个X服务器可以有多个显示器,一个显示器可以有多个屏幕,一个屏幕可以有多个窗口?
1个回答

14
在 xlib/x11 协议术语中,“Display” 指的是客户端和 X 服务器之间的单个连接。
“Screen” 是实际屏幕,但这里情况变得更加复杂。每个屏幕都有自己的根窗口(以及一些相关属性,如物理宽度/高度、DPI 等)。因为屏幕上的每个窗口都是该根窗口的子窗口,所以您不能将窗口从一个屏幕移动到另一个屏幕(在 X11 中,所有子窗口始终被父窗口剪裁,这是其中一个原因)。这就是为什么多个“屏幕”(就像您提出的问题)几乎从不使用的其中之一-大多数人使用Xinerama/RANDR 扩展将多个监视器配置为 X11 屏幕的一部分。
总结:一个显示器-一个连接(如果通过网络,则连接到端口 6000 + 显示器号码)。每个屏幕都有自己的根窗口。允许一个客户端拥有多个到 X 的连接(因此可以使用多个 Display 实例)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接