我正在写一个脚本(在多功能台式机上运行),我想检查其中是否没有用户活动。
非活动定义为:
- 在过去的 N 分钟内,任何使用 GUI 的用户都没有与其进行交互(=没有鼠标或键盘输入)。
- 任何远程 ssh 连接的用户在过去 N 分钟内未运行任何命令或传输数据。
到目前为止我已经到了哪里
广告 1)我唯一想到的是xprintidle
我过去使用过它,它是检查当前用户空闲时间的可靠方法,但似乎不适用于“任何当前或未来登录或未登录的用户” “ 设想。
广告2)我可以使用以下方法确定是否有任何打开的会话:
sudo netstat -tnpa | grep 'ESTABLISHED.*sshd'
这很好用,但并不能完全检查活动,我想忽略已打开但未主动使用的会话。
问题
- 您能为这两项检查中的任何一项提出解决方案吗?
- 有没有更好的综合/通用方法(例如程序)来进行这些检查?