私は台本を書いています(さまざまなデスクトップで実行)そこにユーザーアクティビティがないことを確認したい。
非アクティブは次のように定義されます。
- 過去N分間、ユーザーはGUIと対話しませんでした(=マウスまたはキーボード入力なし)。
- リモートSSH接続ユーザーが過去N分間にコマンドを実行していないか、データを送信していません。
今までどこにいたの?
広告1)唯一考えるのは、xprintidle
過去に使ったことがあり、現在のユーザーのアイドル時間を確認する信頼できる方法ですが、「現在または将来のユーザーがログインしていたりログインしていない場合には動作しないようです」と仮定して。
広告2)以下を使用して、開いているセッションがあるかどうかを確認できます。
sudo netstat -tnpa | grep 'ESTABLISHED.*sshd'
これはうまく機能しますが、活動を完全に確認するわけではありません。開いているが積極的に使用されていないセッションを無視したいと思います。
質問
- これら2つのテストのうちの1つに解決策を提案できますか?
- これらのテストを実行するためのより良い包括的/一般的なアプローチ(プログラムなど)はありますか?