获取不同的X显示空闲时间-C代码
我在这个主题上发现了不少C代码片段。我修改并能够获得我的X显示空闲时间:获取不同的X显示空闲时间-C代码,c,linux,window,gnome,xorg,C,Linux,Window,Gnome,Xorg,我在这个主题上发现了不少C代码片段。我修改并能够获得我的X显示空闲时间: #include <stdio.h> #include <X11/Xlib.h> #include <X11/extensions/scrnsaver.h> /* Report amount of X server idle time. */ /* Build with- */ /* cc xidle.c -o xidle -lX11 -lXext -lXss */ int mai
#include <stdio.h>
#include <X11/Xlib.h>
#include <X11/extensions/scrnsaver.h>
/* Report amount of X server idle time. */
/* Build with- */
/* cc xidle.c -o xidle -lX11 -lXext -lXss */
int main(int argc, char *argv[])
{
Display *display;
int event_base, error_base;
XScreenSaverInfo info;
unsigned int seconds;
display = XOpenDisplay("");
if(display) {
if (XScreenSaverQueryExtension(display, &event_base, &error_base)) {
XScreenSaverQueryInfo(display, DefaultRootWindow(display), &info);
seconds = (unsigned int)info.idle;
printf("%lu\n",seconds);
return(0);
}else{
fprintf(stderr,"Error: XScreenSaver Extension not present\n");
return(1);
}
}else {
fprintf(stderr,"Error: Invalid Display\n");
return(1);
}
}
我甚至试着以root用户身份运行这个脚本,但都没有用
如果这意味着什么的话,我正在使用gnome运行RHEL6。即使作为root用户,您可能仍然需要告诉X允许访问,例如使用
xhost-local:
即使作为root用户,您也可能仍然需要告诉X允许访问,例如使用xhost-local:
人们仍然使用X API编写应用程序吗?如果你需要钩住API去做各种各样的随机的事情,你得把手弄脏。我看不到任何其他选项。人们仍然使用X API编写应用程序?如果你需要钩住API去做各种各样的随机的事情,你得把手弄脏。我看不到任何其他选择。
No protocol specified
Error: Invalid Display