如果我xset dpms 600 3600 7200
,它会在10点后空白我的屏幕
几分钟不活动。
xprintidle
,可能是因为X11不再
有XIDLE扩展名? 谷歌搜索建议查看“man xscreensaver”,但我找不到 那里有用的东西。
答案 0 :(得分:9)
Screen saver扩展,QueryInfo请求。如果你正在使用xlib - 它在XScreenSaverQueryInfo(与Xss链接)
JavaScript中的示例,使用node-x11
var x11 = require('x11');
x11.createClient(function(err, display) {
var X = display.client;
X.require('screen-saver', function(err, SS) {
SS.QueryInfo(display.screen[0].root, function(err, info) {
console.log('Idle time', info.idle);
});
});
X.on('error', console.error);
});
c中的例子:
#include <X11/extensions/scrnsaver.h>
#include <stdio.h>
int main() {
Display *display = XOpenDisplay(0);
if (display != 0) {
XScreenSaverInfo *info = XScreenSaverAllocInfo();
XScreenSaverQueryInfo(display, DefaultRootWindow(display), info);
if (info)
{
printf("%lu\n", info->idle);
XFree(info);
return 0;
}
return -1;
}
return -1;
}