问题标签 [xcb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opengl - 仅使用 XCB 创建 OpenGL 上下文
我只想用没有 GLX 和 Xlib 的 XCB 创建 OpenGL 上下文。你能告诉我这可能会发生吗?非常感谢。
x11 - xcb - 在源代码中找不到 xcb_map_window
我刚刚进入xcb 下载页面并下载了不同的档案(最新的),但没有找到xcb_map_window
使用 grep 的实现。我只是找到了它的原型。
由于它有xcb
前缀,我认为它会在那里。
问题是什么?它在哪里?
python - 从主进程和衍生进程中使用 matplotlib
有没有办法matplotlib
从主函数和衍生进程中使用?
在我当前的应用程序中,我希望绘制模拟的中间结果,并通过使用multiprocessing
模块生成子进程来允许模拟在后台进行,并且用户可以选择关闭或保持绘图打开。在某一点,用户可以修改继续的模拟,因此主函数绘制到目前为止的结果并等待用户响应。但是,这样做时程序会出现错误消息:
如果我删除子流程中的中间步骤的绘图或跳过主函数中的绘图,程序运行良好。
现在我已经通过产生另一个子进程来进行绘图和检索用户输入(使用multiprocessing.Queue()
和join()
方法)来规避这个问题。然而,这样做似乎有点多余,因此如果有更好的方法来做到这一点,我真的很感激。
查看 stackoverflow 档案,我发现一个帖子报告了相同的错误,评论说“matplotlib 不适用于多处理”。但没有建议解决方案/解决方法。
以下代码重现了该问题:
作为旁注,我发现在包含代码的同时简单地使用import matplotlib
代码阻塞运行良好,这有点奇怪,因为我的印象是在这种情况下但不应该可以访问。fig = matplotlib.pyplot.figure()
import matplotlib.pyplot as plt
plt
matplotlib.pyplot
android - Mint:genymotion 安装错误
我是薄荷的新手。.bin
我从/home/user/Android 目录中的文件安装了 Genymotion 模拟器。当我尝试执行 Genymotion 时,我收到这样的消息:
/Android/genymotion $ ./genymotion
./genymotion:加载共享库时出错:libdouble-conversion.so.1:无法打开共享对象文件:没有这样的文件或目录
正如我从快速搜索中了解到的那样,我应该链接这个转换库。但我知道做错了什么;)有人可以建议正确的方法来做到这一点。最好有一些解释。
更新
在我使用@Atheror 建议后,我收到了另一条消息:
./genymotion
./genymotion:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:找不到版本“CXXABI_1.3.8”(/opt/genymobile/genymotion/libQt5Core.so.5 需要)
./genymotion:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:找不到版本“GLIBCXX_3.4.20”(/opt/genymobile/genymotion/libQt5WebKit.so.5 需要)
./genymotion:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:找不到版本“CXXABI_1.3.8”(/opt/genymobile/genymotion/libicui18n.so.52 需要)
./genymotion:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:找不到版本“CXXABI_1.3.8”(/opt/genymobile/genymotion/libicuuc.so.52 需要)
./genymotion:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:找不到版本“CXXABI_1.3.8”(/opt/genymobile/genymotion/libicuuc.so.52 需要)
更新
经过一些额外的搜索后,我尝试添加缺少的库。在此之后,尝试运行 genymotion 会导致 genymotion.log 中出现这样的记录:
[Genymotion] [致命] 此应用程序无法启动,因为它无法找到或加载 Qt 平台插件“xcb”。
可用的平台插件有:eglfs、kms、linuxfb、minimal、minimalegl、offscreen、xcb。
所以 xcb 插件可用。在网络中再次快速运行后,我发现建议使用ldd
命令检查依赖关系并得到:
平台#ldd libqxcb.so
所以我假设 linux-vdso.so.1 中存在这个问题,并尝试通过使用 apt 安装这个库来解决这个问题:sudo apt-get install linux-vdso.so.1 但得到这个包不存在的错误。所以我又陷入了僵局:(
qt - Qt 5 为 XCB 使用 EGL 后端
我在使用 XCB 后端的嵌入式 Qt 5 时遇到了一些棘手的问题。我刚刚意识到这可能会导致它默认使用 GLX,而且我听说使用 EGL 消除撕裂的机会要大得多。我也知道 Qt 有一个用于 XCB 的 EGL 后端,但我不知道如何在两者之间切换。我可以使用哪些配置或运行时标志来强制它使用一个而不是另一个?
c++ - 使用 XCB 获取窗口标题
我正在尝试获取有关焦点窗口的信息。似乎我从以下位置获得了正确的窗口 ID xcb_get_input_focus_reply_t->focus
:它对于我的 Eclipse IDE (56623164) 保持不变,对于任何其他焦点窗口来说都是另一个。但是,对于 ,值长度始终为 0 XCB_ATOM_WM_NAME
。
缩短的代码
Eclipse 调试器
没有错误(我通过并检查了 a xcb_generic_error_t
)。你知道会出什么问题吗?也许我应该改用 Xlib...
linux - 缺少启动 QT5 的库
我有一个我正在尝试运行的 Qt 应用程序,但无法启动,因为它“无法找到或加载 Qt 平台插件”xcb“。当我在 libqxcb.so 上运行 ldd 时,所有库都被链接,除了一个:libxcb-icccm.so.1 => not found
现在,我的机器上确实有 libxcb-icccm.so.4,但是如果我创建一个指向它的符号链接,一切都会崩溃并烧毁。从我发现的所有内容中,icccm 库都来自 XOrg 库,但是当我下载源代码来构建它时,到目前为止,我最终得到的是 libxcb-icccm.so.4 而不是 libxcb-icccm.so.1
我做错了什么,还是我只是缺少构建 libxcb-icccm.so.1 所需的 xcb 库版本
c - linux上的C图形多线程错误
所以我已经阅读了很多关于这个的答案,但我还没有找到解决方案,这就是我发布这个问题的原因。
我正在使用 Ubuntu 14.04LTS 和 gcc 4.8.4 来编译大学的图形程序。我更愿意使用 OPENGL,但它现在不是一个选项。每次执行代码时都会遇到此错误,无论我做什么,SDL 窗口都会在可能与程序中提供的延迟对应或不对应的延迟后关闭。
这是我的代码:
我遇到了这个错误:
[xcb] 处理队列时序列号未知 [xcb] 这很可能是一个多线程客户端,并且没有调用 XInitThreads [xcb] 正在中止,对此感到抱歉。2602stackoverflow:../../src/xcb_io.c:274:poll_for_event:断言“!xcb_xlib_threads_sequence_lost”失败。
我试过使用 libX11,但它仍然给我同样的错误。我还尝试了另一个用户的程序,根据他的C 图形库错误,它运行良好,但在我修改它以删除 conio.h 后它仍然给我同样的错误,虽然线条确实在图形窗口中绘制,但它由于上述错误而关闭。请帮我解决这个问题。
linux - xcb_grab_key 上没有错误,但事件循环未捕获(全局热键)
我正在尝试在 Linux 上设置全局热键。
我最初使用 x11 ( libX11.so
) 但是我必须从线程中执行此操作。我试过了,但XPendingEvent
最终XNextEvent
会导致应用程序崩溃。
所以我切换到 xcb ( libxcb.so.1
)。没有错误,我什至检查了xcb_request_check
但是事件循环没有收到任何东西。一旦我开始循环,我只会得到一个如下所示的事件:
这是我的代码,我实际上是在 js-ctypes 中执行此操作的,但我删减了所有内容,只显示简单的不可知论代码:
console.log(ev)
给我我之前在上面发布response_type
的内容0
,然后永远ev
是null
。
有谁知道怎么回事?rez_grab 作为原始字符串是xcb_void_cookie_t(2)
非常感谢
c++ - 访问远程剪贴板缓冲区
是否有人熟悉通过将 X Windows 转发到客户端计算机的远程计算机访问客户端计算机上的剪贴板缓冲区的正确方法?
我的情况是,我使用 XCB 开发了代码,该代码在运行 linux 的服务器上远程运行并将窗口转发到运行 XQuartz 的 Mac OSX,我需要在程序中创建复制和粘贴功能,以便在将文本粘贴到Mac OSX 端的窗口,剪贴板内容被发送到远程服务器。
如果重要的话,X 转发连接是使用 SSH “-X” 选项设置的。