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;
请建议我一个合适的解决方案。
答案 0 :(得分:0)
实际上,此代码仅在" libxss1"包安装在系统上。 从ubuntu 11.10开始,默认情况下不安装libXss.so。
sudo apt-get install libxss1 解决这个问题,但需要额外的系统包安装