我想写一个脚本,显示用户闲置多less分钟。 自键盘和鼠标的最后一次触摸。 例:
#!/bin/bash while true do command_lines... ... sleep 60 echo $var done
结果:
计算机/用户闲置1分钟。
电脑/用户闲置2分钟。
- 如何通过命令行从安装程序转储证书文件?
- 更改login/禁用Citrix XENAPP 5.0服务器场或本地
- 使用string(命令)只能find英文单词
- Pentaho Windowsbatch file在Windows Server 2008上执行时未运行
- ntpdate和防火墙:找不到适合于同步的服务器
…
电脑/用户闲置5分钟。
…
我们能做到吗? 它可以在Bash,Python等
“w”命令应该有助于从手册页:
w – 显示谁login了,他们在做什么。
# w | awk '{if (NR!=1) {print $1,$5 }}' USER IDLE root 0.00s
键盘和鼠标在多用户系统上不是一个明确的概念,在这个系统中可以有多个X服务器在机器上运行,有些连接到一个或多个物理键盘或鼠标,一些不是,或者远程X服务器,到,或者bash运行在ssh上的shell,还有很多更多的方法让“bash”从用户那里获取input信息。
“xprintidle”会给你所连接的X服务器的空闲时间(X服务器可能是本地或远程的,甚至是本地的,它可能不一定是系统上当前活动的)
$ TTY的修改时间会告诉你terminal的空闲时间。 stat -c%Y“$ TTY”是以秒为单位的最后一次修改时间,您可以减去“$(date +%s)”(如果在GNU系统上)。