X-Server 기반 시스템에서 xprintidle 유틸리티는 사용자가 유휴 상태였던 시간(밀리초)을 반환합니다. Wayland에도 유사한 기능이 있습니까?
나는 내 컴퓨터를 어떻게 사용하고 있는지, 생산성 등을 측정하는 방법으로 하루 종일 응용 프로그램 집중을 기록하는 작은 프로그램을 작성하려고 합니다.
컴퓨터가 유휴 상태일 때 프로그램이 활동을 기록하는 것을 원하지 않습니다. xprintidle을 사용하여 X-Server 세션에서 사용자가 유휴 상태인 기간을 쉽게 확인할 수 있지만 이 유틸리티는 유지 관리되지 않는 것으로 보이며 Wayland에서는 작동하지 않습니다.
Distros는 Wayland로 이동하고 있는 것 같습니다. 예를 들어 곧 출시될 Ubuntu 17.10은 기본적으로 Wayland를 사용하므로 xprintidle은 더 이상 실행 가능한 솔루션이 아닙니다.
Wayland에는 키보드 및 마우스 활동에 대한 지속적인 폴링과 같은 비효율적인 메커니즘이 부족하여 사용자가 유휴 상태인지 확인하는 메커니즘이 있습니까?
답변1
보편적인 방법이 있는지는 확실하지 않지만 gnome 시스템의 경우 다음 dbus 호출을 사용할 수 있습니다.
dbus-send --print-reply --dest=org.gnome.Mutter.IdleMonitor /org/gnome/Mutter/IdleMonitor/Core org.gnome.Mutter.IdleMonitor.GetIdletime