x11

x11是C/S模型,每个主机可以启动多个xserver作为服务器,每个服务器开启一个端口,供客户端连接,每个服务器可以有多个screen(显示器),因此服务地址的格式为DISPLAY=host:port.screen_number,由于默认端口为6000起步,真实tcp/ip端口为6000+port

每个screen可以上可以创建多个窗口。

xlib

xlib是协议的c语言接口。

GraphicsContext

绘图操作需要控制数据,通过数据结构保存这些复杂参数,传递给Server。

xcb

X协议的C语言绑定,相比xlib,占用空间小,延迟低,多线程,可扩展等特性。

https://www.x.org/wiki/guide/xlib-and-xcb/ https://www.x.org/releases/current/doc/libxcb/tutorial/index.html