我想用X11做一个简单的可视化。我不想要一个有按钮之类的花哨家伙,我只是想在窗口中显示一个普通的折线图,仅此而已。
由于我在X11编程方面没有太多经验,所以我使用了以下示例代码:
https://rosettacode.org/wiki/Window_creation/X11#Xlib
它可以很好地编译并工作,但是当它创建的窗口关闭时,错误
XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":0.0"
after 11 requests (9 known processed) with 0 events remaining.出现在终端中。因此,我想知道这可能是什么原因,以及如何修复它?
发布于 2018-11-22 04:19:27
利用源头,卢克。
while (1) {
XNextEvent(d, &e);
if (e.type == Expose) {
XFillRectangle(d, w, DefaultGC(d, s), 20, 20, 10, 10);
XDrawString(d, w, DefaultGC(d, s), 10, 50, msg, strlen(msg));
}
if (e.type == KeyPress)
break;
}
XCloseDisplay(d);如果通过按某个键退出循环,则调用XCloseDisplay()。如果你“从外面”(比方说,用你的鼠标)杀死窗口,这个函数就永远不会被调用。这个过程突然消失了,X会对此发出警告。
至少在我的系统上,kill(1)也不会产生警告。我怀疑与您的窗口管理器之间存在一些交互,您将在稍后的xlib培训中处理这些问题。:-)
https://stackoverflow.com/questions/53418710
复制相似问题