すべてのコマンド/タスクの詳細な記録(GUIにもあります)

すべてのコマンド/タスクの詳細な記録(GUIにもあります)

この有名なhistoryコマンドは、最近実行されたコマンドのリストを示しています。HISTTIMEFORMAT変数を設定すると、次の内容も表示できます。いつ実行するコマンド。プログラムを開く/閉じるなど、一部のGUI操作も記録するより一般的なバージョンが必要です。

Q:「すべての」ユーザー操作(タイムスタンプを含む)を表示するための同様のコマンドはありますか? (もちろんすべてではありません。「マウスをここから向こうに移動する」のようなものではありません。)

しかし、おおよそのものは次のとおりです。

18.06.2015 09:30 started Firefox
18.06.2015 09:32 started Rhythmbox
18.06.2015 09:35 opened someText.pdf in evince
18.06.2015 09:39 closed Firefox
18.06.2015 09:40 suspended session

本当に素敵です。他のタイプの表現も可能である。特定のアプリがいつフォーカスを受け取るかを知ることができれば良いでしょう。

いくつかのアイデア:多分…

  • ...デスクトップ環境のための拡張があります(ここではgnomeが使用されています)。
  • ...一部のデスクトップ環境では、この機能を直接サポートしています。 (この機能が提供されたら、移行を検討します。)
  • ...コマンドには、ps同様の動作または少なくともいくつかの情報を取得するためのいくつかのフラグがあります。
  • ...おそらくコマンドhistory, w, psなどから情報を集計することです。

注:私の活動を監視できるようにしたいと思います。しかし、たとえば、適切な-flagsとは何psですか?どうすればよいですかgrep

ベストアンサー1

アクティビティログを使用して開いたファイルを追跡できます。しかし、開いているアプリを追跡できるものがあるかどうかはわかりません。

これは面倒で労働集約的なソリューションですが、デスクトップアイコンを使用してスクリプトを使用してアプリケーションを実行できます。スクリプトにログファイルに 1 行を追加させることができます。

まるで…

#!/bin/sh
echo `date` "Firefox Started" >> /home/username/logs/apps-activity.log
firefox
echo `date` "Firefox Stopped" >> /home/username/logs/apps-activity.log

申し訳ありません。私のbash技術はとても初歩的ですが、理解できそうです。これは素晴らしい解決策ではありませんが、おそらくいくつかのアイデアを与えることができます。 psを使用している場合は、アプリケーションごとに関連するプロセスがかなり多くなるため、これを機能させるのはかなり複雑になると思います。

Firefoxの例では、psコマンドを使用すると2つのプロセスが実行されます。例えば。

$ ps aux | grep firefo[x]
username     5302 11.2  3.5 1391936 564016 ?      Sl   Jul08 553:26 /usr/bin/firefox.real
username    15351  0.8  0.2 482268 47040 ?        Sl   Jul09  29:21 /opt/firefox/plugin-container /usr/lib/flashplugin-nonfree/libflashplayer.so -greomni /opt/firefox/omni.ja -appomni /opt/firefox/browser/omni.ja -appdir /opt/firefox/browser 5302 true plugin

おすすめ記事