我正在用libx11截图

#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <stdio.h>

int main(void) {
XImage* pic;
Display* dpl;
unsigned int buffer_size;

dpl = XOpenDisplay("127.0.0.1:0.0");

pic = XGetImage(dpl, RootWindow(dpl, DefaultScreen(dpl)), 10, 10, 201, 201,
        AllPlanes, ZPixmap);
}

如果我使用-lx11编译代码并运行它,我会一直遇到分段错误。
有什么想法吗?
提前谢谢!

最佳答案

X11服务器通常不监听TCP/IP本地主机,而是监听Unix套接字。无论如何,您不应该硬编码x11服务器的地址。试试这个:

dpl = XOpenDisplay(NULL);
assert(dpl);

08-06 14:12