Linuxでキーストロークを記録する方法はありますか?

Linuxでキーストロークを記録する方法はありますか?

私は重い人ですウィム私やユーザーもたくさん使っています。マルチプレクサbashそれだけでなく、私の日常的なコンピュータ活動もたくさんあります。

ワークフローを最適化し、より重要なことは、コンピュータセッション中に実行されるすべてのキーストロークのログを取得する方法を望んでいます。

次のように動作するプログラムを探しています。

keylogger -o log.txt | bash

その後、bashセッションに入力した内容はすべて記録されます log.txt。最終log.txt結果は次のとおりです。

tmux<cr>
vi wefwef.c<cr>
iHello, world!<esc>
VUoHAHAHAHAHAHA hahahah!<esc>hhllb
:!grep -a 66 /usr/bin/vi | aplay<cr>
:x<cr>
cat wefwef.txt<cr>
make war<cr>
echo vivivi is the editor of the beast!!<cr>
yes | rm -rf /<cr>
ps -A | grep '[0-9]\+' -o | xargs kill -9<cr>
exit 666<cr>

...この情報を使用してワークフローをさらに最適化できます。

私が説明しているものに似たUnixツールはありますか?

答え1

ここでは、zsh次のことができます。

cmd="stty rows $LINES cols $COLUMNS; stty '$(stty -g)'; bash"
STTY='raw -echo' cat > typescript.in | script -c "$cmd"

その後、入力した内容とtypescript.in出力を取得しますtypescript

関連情報