컴퓨터가 특정 시간 동안 유휴 상태 일 때를 감지해야합니다. 게으름의 나의 정의는 다음과 같습니다리눅스 - 게으름 감지
- 없음 사용자가 마우스 나 키 입력없이 운동, 원격 메소드 또는 로컬 컴퓨터
- X 서버 활동에 하나, 로그인하지
- TTY 키보드 활동 (희망)
대다수의 배포판이 이제 logind
으로 이동 했으므로 DBUS 인터페이스를 사용하여 사용자가 로그인했는지 확인하고 로그인/로그 아웃을 모니터링 할 수 있어야합니다. 이전에 X 유휴 상태를 감지하기 위해 xautolock
을 사용했으며 계속 사용하고 있지만 xscreensaver
도 사용 가능합니다. 그러나 나는 다른 구성 요소를 사용하는 다른 데스크탑 환경으로 인해 화면 보호기와 같은 특정 종속성에서 벗어나고 싶습니다.
이상적으로 나는 TTY 키보드가 작동하지 않을 때도 유휴 상태가 될 수 있지만, 이것이 가장 큰 걱정거리는 아닙니다. this answer에 따르면, 나는 /dev/input/*
인터페이스를 직접 질의 할 수 있어야하지만, 이것에 대해 어떻게 해야할지 전혀 모른다.
이전에 그런 모니터를 만들려고 시도했는데, 평범한 텍스트 스크립트 파일을 바꾸기 쉽기 때문에 Bash를 사용 했었습니다.이 작업을 수행하는 데 고급 방법이 필요한 경우 C++을 사용하여 기쁘게 생각합니다.
이것은 http://unix.stackexchange.com/에 대한 질문 일 수 있습니다. – BenC
linux 명령 "last"는 모든 사용자의 로그인 시간 목록을 제공합니다. 그래서 그 부분은 파일을 파싱하는 것입니다. – Peter
@Peter'last'는 로그인과 로그 아웃을 모니터 할 수 없으며, 게다가'logind'는 이제 거의 표준입니다. 그것은 내가 더 걱정하는 다른 부분입니다. – Xenopathic