JNA无法在ubuntu 11.10版本中获得系统空闲时间

时间:2013-01-19 13:16:35

标签: jna ubuntu-11.10

JNA无法在ubuntu 11.10版本中获得系统空闲时间。

    public static long getIdleTimeMillis() {
            X11.Window win = null;
            Xss.XScreenSaverInfo info = null;
            X11.Display dpy = null;

            final X11 x11 = X11.INSTANCE;
            final Xss xss = Xss.INSTANCE;

            long idlemillis = 0L;
            try {
                    dpy = x11.XOpenDisplay(null);
                    win = x11.XDefaultRootWindow(dpy);
                    info = xss.XScreenSaverAllocInfo();
                    xss.XScreenSaverQueryInfo(dpy, win, info);

                    idlemillis = info.idle.longValue();

            } finally {
                    if (info != null)
                            x11.XFree(info.getPointer());
                    info = null;

                    if (dpy != null)
                            x11.XCloseDisplay(dpy);
                    dpy = null;
            }
            return idlemillis;

我正在使用此代码来捕获空闲时间。它在较低版本的ubuntu中运行良好。但它不适用于最新版本。

它没有从行

移动

final Xss xss = Xss.INSTANCE;

请建议我一个合适的解决方案。

1 个答案:

答案 0 :(得分:0)

实际上,此代码仅在" libxss1"包安装在系统上。 从ubuntu 11.10开始,默认情况下不安装libXss.so。

sudo apt-get install libxss1 解决这个问题,但需要额外的系统包安装