如何检测电脑是否空闲?

MoS*_*lah 2 scripting screenshot linux-mint services

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

while true; do
  scrot -d 70 '%Y-%m-%d-%H:%M:%S.jpg' -e 'mv $f 
~/TMP/TempScreenShots'
done
Run Code Online (Sandbox Code Playgroud)

pLu*_*umo 6

使用xprintidle

xprintidle 是一个实用程序,它向 X 服务器查询用户的空闲时间并将其打印到标准输出(以毫秒为单位)。

while :; do
    [ $(xprintidle) -lt 10000 ] && echo do_something
    sleep 3;
done
Run Code Online (Sandbox Code Playgroud)

do_something如果上次键盘或鼠标活动少于 10 秒前,这将每 3 秒回显一次。


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

sudo apt install xprintidle
Run Code Online (Sandbox Code Playgroud)

或从源代码自己构建。