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 中运行良好。但它不适用于最新版本。
它没有从生产线上移动
最终 Xss xss = Xss.INSTANCE;
请建议我一个适当的解决方案。