私は数日間GNUスクリーンセッションを実行してきました。私は端末の内容(上にスクロールして見ることができます)をファイルに保存する必要がある状況にありました。可能ですか? 5000行を超えないと予想されます。
画面録画を設定する方法を見つけました未来ファイルに出力します。ただし、この場合は、過去の出力(またはできるだけ多くの既存の出力)も保存する必要があります。
答え1
hardcopy -h
コマンドを使用して、現在のスクロールバッファの内容をファイルに保存できます。に記載されているようにman screen
:
hardcopy [-h] [file] Writes out the currently displayed image to the file file, or, if no filename is specified, to hardcopy.n in the default directory, where n is the number of the current window. This either appends or overwrites the file if it exists. See below. If the option -h is specified, dump also the contents of the scrollback buffer.
あなたは言う:
5000行を超えないと予想されます。
5000行は本当に大量です。スクロールバッファのデフォルトの長さは、
screen
5000行ではなく100行です。より大きなスクロールバッファ設定でセッションを開始しないと、
screen
約5000行のスクロールバッファはすべて取得されません。
答え2
1つの方法は、コピーモードを使用してロールバック履歴全体をコピーしてからファイルにダンプすることです。 (より良い方法があるかもしれません。)
主キーバインディングを使用すると、次のようになります。
- Ctrl-A は画面にコマンドを送信します。
[
コピーモード開始g
トップに戻る- スペースバーは、スクロールバックバッファ(現在位置)の先頭をコピーするテキストの先頭として表示します。
G
最後まで行く- コピーしたいテキストの末尾を入力してコピーします。
次に、vimを開いて実行して:set paste
自動インデントなどの問題を回避し、貼り付けをCtrl-A
]
使用します。