脚本如何检测用户的空闲时间?
我想在bash脚本中检查X会话的用户已空闲多长时间。
用户自己不必使用bash,而只需使用X.例如,如果用户只是移动了鼠标,那么一个好的答案就是“空闲0秒”。 如果他没有在5分钟内触摸电脑,一个好的答案是“闲置300秒”
不立即使用xautolock的原因是能够实现一些复杂的行为。 例如,如果用户闲置10分钟,请尝试暂停,如果他闲置超过5分钟,则关闭(我知道这听起来很奇怪,但暂停并不总是在这里工作……)
刚刚找到了一种简单的方法。
有一个名为xprintidle的程序可以解决问题
获得空闲时间(以毫秒为单位)非常简单
xprintidle
并安装
apt-get install xprintidle
对于系统管理员,它也可以远程工作
从ssh会话 :
export DISPLAY=:0 && sudo -u john xprintidle
其中john是用户登录到远程计算机上的X会话。
从这里回答:
在bash中
w | tr -s " " | cut -d" " -f1,5 | tail -n+3
为每个shell提供一个用户名/空闲时间对。 所以基本上你可以通过命令w
获取空闲信息