Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取不同的X显示空闲时间-C代码_C_Linux_Window_Gnome_Xorg - Fatal编程技术网

获取不同的X显示空闲时间-C代码

获取不同的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

我在这个主题上发现了不少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 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