5

編集(重要と思われるため、これが一番上にあります。詳細については以下を参照してください):記録されたものを表示するだけでなく、実際にコマンドを実行するスクリプトが必要です!私の知る限り、スクリプトユーティリティはこれを行いません。つまり、タイミング情報が記録された、bash と Linux のみの自動ホットキーのようなものです。

質問は:

キーを押す間の正確な時間遅延などで、bashセッションを記録して再生したいと思います。

たとえば、 と呼ばれるプログラムを実行し、11.4 秒後にxxxCtrl+C で中断し、終了後に 3.4 と呼ばれるプログラムを実行すると、リプレイで同じことを実行したいと思います ( 11.4 秒後に Ctrl+C で中断)。 、3.4秒待ってから実行します)。yyyxxxxxxyyy

マウスの動きを記録する必要はありません。記録したいことはすべて単一の bash セッションで行われるからです。

私はユーティリティを次のように調べました

  • スクリプト (bash セッション コマンドを記録しますが、時間遅延情報は記録しません。)
  • xmacro (すべてのキー押下を記録しますが、時間情報は記録しません。)
  • 似たようなものを探している人もこれを調べたいと思うかもしれません(他のユーザーにとって価値がある可能性があるため、このリンクを含めています。個人的には、私が達成したいことに役立つ解決策が言及されているとは思いません.)
4

2 に答える 2

2

script -t は標準的な答えです。

また、Python でスクリプトを書き直しました。これは、 http ://stromberg.dnsalias.org/~strombrg/pypty/ にあります。

どちらも -t をサポートしています。私が pypty を書いた主な理由は、将来の参照のために、長い ssh セッションをログに記録するために 1 日あたり 1 つのファイルを取得できるようにしたかったからです。

pypty tarball には、gtk または curses を使用して tty ログ ファイルを前後に移動できるスクリプト再生スクリプト (scriptreplay との名前のわずかな違いに注意してください) が含まれています。逆方向に移動する手段は少しハックですが (vt100 はそれほど単純ではないため)、多くの場合に非常に便利であることがわかりました。

于 2012-07-06T23:14:27.673 に答える
1

通常の bash 環境へのアクセスを提供し、元の bash ではなく自分のラッパーにシステム設定を向けながら、必要な情報をログに記録できる、選択した言語で bash ラッパーを作成するのはどうですか? IO はクライアント サービス/ユーザーと実際の bash の間でパイプされ、ラッパーは必要な情報をログに記録します。情報がログに記録されると、リプレイ部分は簡単になります。このアプローチに興味がある場合は、リクエストに応じて例を提供できます。

于 2012-07-06T22:40:35.847 に答える