我有一个C++程序,该程序可以获取Ubuntu 14.04计算机的屏幕截图。该程序使用X11库。我需要在启动时从守护程序执行此应用程序。但它返回XOpenDisplay failed
。我认为是因为未加载X11服务器。加载X11服务器后,是否可以通过任何编程方式立即获取屏幕截图?
编辑:
错过了告诉别人的事情。该守护程序在启动时启动,无法获取屏幕截图。因此,启动后,我停止了守护程序,然后从终端再次启动它。然后显示相同的错误(XOpenDisplay失败)。屏幕截图和守护程序是否存在问题?
最佳答案
这不仅仅是等待X服务器启动的问题。要成功连接到它:
DISPLAY
环境变量中。 如果您只是在图形 session 中启动程序,而不是在启动后独立启动程序,则满足所有这些条件。
有多种方法可以在图形 session 中实现程序的启动。一种是将
something.desktop
文件放入/etc/xdg/autostart
目录。您可以从那里检查其他文件的语法。关于c++ - 使用C++获取Linux机器的屏幕截图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34877029/