如何检测电脑是否空闲?

如何检测电脑是否空闲?

我正在使用 Linux Mint,我在系统启动时运行以下服务来自动截图, 但我需要它在计算机空闲时停止截图,并在计算机处于活动状态时再次运行(例如,鼠标移动)。如何才能做到这一点?

while true; do
  scrot -d 70 '%Y-%m-%d-%H:%M:%S.jpg' -e 'mv $f 
~/TMP/TempScreenShots'
done

答案1

使用xprintidle

xprintidle 是一个实用程序,用于查询 X 服务器以获取用户的空闲时间并将其打印到 stdout(以毫秒为单位)。

while :; do
    [ $(xprintidle) -lt 10000 ] && echo do_something
    sleep 3;
done

do_something如果上次键盘或鼠标活动发生在不到 10 秒前,则每 3 秒回显一次。


您可能需要安装它,例如:

sudo apt install xprintidle

或者自己构建它来源

相关内容