일정 시간 동안 유휴 상태가 되면 키보드 조명을 자동으로 어둡게 하고 싶습니다. 비활성 시간을 감지하는 방법은 무엇입니까? 그런데 저는 아치리눅스를 사용합니다.
답변1
Debian 기반 시스템에는 xprintidle
다음 xprintidle
명령이 있습니다(https://github.com/g0hl1n/xprintidle/)는 표준 출력에 유휴 시간을 밀리초 단위로 인쇄합니다.
$ sleep 2; xprintidle
1925
이렇게 하면 다른 답변과 마찬가지로 API를 사용 ltrace
하는 것을 볼 수 있습니다.XScreenSaverQueryExtension()
XScreenSaverQueryInfo()
또한 일부 서버의 극단적인 경우에 발생하는 특정 문제에 대한 몇 가지 해결 방법을 추가했습니다..
답변2
컴파일하고 실행하면 유휴 시간이 밀리초 단위로 표시됩니다.
#include <X11/extensions/scrnsaver.h>
#include <stdio.h>
int main(void) {
Display *dpy = XOpenDisplay(NULL);
if (!dpy) {
return(1);
}
XScreenSaverInfo *info = XScreenSaverAllocInfo();
XScreenSaverQueryInfo(dpy, DefaultRootWindow(dpy), info);
printf("%u\n", info->idle);
return(0);
}
답변3
이는 또한 C(Makefile을 사용하여)로 구현됩니다.https://github.com/mjml/xidle.
이는 유휴 시간의 시간, 분, 초 및 밀리초와 단위/액면가를 선택하는 옵션 스위치가 포함된 쉘 스크립트를 제공합니다.