ユーザーログイン時間の取得(ロック画面時間を除く)

ユーザーログイン時間の取得(ロック画面時間を除く)

特定の日にLinuxシステムユーザーが「所要時間」に関する情報を取得したいと思います。これは、ユーザーが画面をロック解除する時間があることを意味します。代わりに、このコマンドは、ac画面がロックされているか待機している時間を含む、ユーザーがログインした合計時間を表示します。

私が知っている限り、whoコマンドで表示されるアイドル時間は、画面のロック解除にかかる時間とは異なります。したがって、これは明らかに解決策ではありません。

オープンソースプログラム時間kpr必須情報を表示しますが、今週のみ該当します。おそらく、その計算のためのコードを抽出することができます。しかし、私のプログラミングのスキルは不都合です。

答え1

私が知っている限り、whoコマンドで表示されるアイドル時間は画面のロック解除時間とは異なります。

No.は、whoグラフィックセッションが出現する前に作成されたプログラムです。 「ロック画面」とは何か分からない。

通常、画面ロックは全画面で実行され、すべてのキーストロークをキャプチャする一般的なプログラムです。したがって、コンピュータの観点からは、ユーザーはログアウトされません。ロック画面が表示されている間は、多くのことをしないだけです。

幸いなことに、近年、ほとんどのLinuxディストリビューションは、ユーザーセッションとシート管理がどのように見えるべきかについてどの程度合意しました。これでこれができましたloginctl lock-session(セッションマネージャはそれを内部的に呼び出すことも、dbusを介してロックとして呼び出すこともできます)。

あなたできるdbusを介してロック/ロック解除メカニズムを接続し、それらの間の時間を記録するプログラムを作成します。私が知っている限り、この作業はまだ行われていません。loginctl session-status概念があります。年齢セッション時間。座席が割り当てられ、ロック解除された時間ではありません。

一般的に探している情報の目的は非常に疑わしいです。ユーザーは、会計目的で画面がロックされている間、任意のコンピューティング/ネットワーク/ストレージ集約的なタスクを実行できます。

答え2

リクエストされた内容は正確ではありませんが、次の内容を見つけることもできます。GNU会計ユーティリティ(acct)効果がある

GNU Accounting Utilitiesは、ユーザー接続時間とプロセス実行統計に関するデータを報告および要約する一連のユーティリティです。

ログイン統計は接続時間に基づいてシステムリソース使用量の要約を提供し、プロセス統計はシステムで実行されたコマンドに基づいて要約を提供します。

ほとんどのディストリビューション(Debianなど)で動作します。apt-get install acct

注:ユーザーとユーザーのプロセス、実行時間などを追跡すると、パフォーマンスに影響を与える可能性があります。負荷の少ない高度なシステムでは問題になりませんが、負荷が多い場合や低仕様システムでは非常に目立つことがあります。

関連情報