脚本如何检测用户的空闲时间?

我想在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获取空闲信息