33 我想在bash脚本中检查X会话的用户空闲了多长时间。 用户本人不必使用bash,而只需使用X。例如,如果用户只是移动鼠标,一个很好的答案是“空闲0秒”。如果他在5分钟内没有触摸计算机,那么一个很好的答案将是“闲置300秒” 不立即使用xautolock的原因是能够实现一些复杂的行为。例如,如果用户闲置10分钟,请尝试暂停;如果用户闲置5分钟以上,请关闭电源(我知道这听起来很奇怪,但暂停并不总是在这里起作用)。 xorg bash — 约西纳尔沃 source
38 刚刚找到一种简单的方法来做到这一点。 有一个名为xprintidle的程序可以解决这个问题 获取空闲时间(以毫秒为单位)非常简单 xprintidle 并安装 apt-get install xprintidle 对于系统管理员,它也可以远程工作 在ssh会话中: export DISPLAY=:0 && sudo -u john xprintidle john是登录到远程计算机上的X会话的用户。 — 约西纳尔沃 source
4 从这里回答: 重击 w | tr -s " " | cut -d" " -f1,5 | tail -n+3 为您提供每个shell的用户名/空闲时间对。所以基本上您可以通过命令获取空闲信息w — 担 source 这如何计算与非终端的X交互?例如,在Firefox内部进行鼠标移动。如果用户正在移动鼠标,我想获得答案“不闲置”或“空闲0秒” — josinalvo 2012年 @josinalvo w只是给您我认为该特定终端中的空闲时间。 — 2012年 3 空闲时间实际上是运行时间,即进程的正常运行时间(w输出的WHAT列)。因此,它不知道用户在X会话中空闲了多长时间。 — rosch 2012年