是否有任何 API 或文档有助于解析 X 服务器的授权文件?
我xcb
用来连接显示器。它接受xcb_auth_info_t
授权信息的结构。但是,我找不到有关如何构建此结构的任何信息。似乎没有任何关于 X 服务器授权文件格式的文档。
我解决的解决方案:
事实证明,对于MIT-MAGIC-COOKIE-1
X 类授权文件,Xauth
结构(来自X11/Xauth.h
)成员直接映射到xcb_auth_info_t
成员。Xauth
因此,只需使用 .从您的 X 授权文件中读取结构XauReadAuth
。然后复制name
、name_length
、data
和data_length
成员。
如果你想要一种更便携的方式来解析 X 权限文件,可以参考xcb
的源代码。它非常混乱,但是根据您自己的目的调整它们的源代码应该不会太难。xcb_util.c
有关如何打开显示器的套接字的详细信息,请参阅。拥有套接字后,您可以使用 from 方法xcb_auth.c
来创建xcb_auth_info_t
结构(请参阅方法_xcb_get_auth_info
、get_auth_ptr
和compute_auth
)。
我只需要通过 unix 套接字 ( AF_UNIX
) 进行连接,因此我移植的代码非常少。我大多只是使用该compute_auth
方法(及其依赖项)。