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

标签 xlib

例如,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/

相关文章:

c - 如何在 XLib 中创建半透明的白色窗口

c - 来自 X11 库的 Haskell fetchName 不返回窗口的名称

linux - 获取 Xlib 中所有屏幕的编号

使用不接受任何输入事件或获取焦点的 xlib 创建透明窗口

c - _NET_WM_ICON 的图片格式

python - 如何在 Python 上使用 Xlib 模拟鼠标点击

c++ - 鼠标按键模拟——右键和上下文菜单问题

c++ - Xlib:以最小化或最大化状态创建窗口

c - 客户端退出后 XChangeProperty 无效

c++ - 从 X11 队列中删除额外的公开消息