web-dev-qa-db-ja.com

LinuxのScreenで自分の履歴をもっと見るにはどうすればいいですか?

コマンドラインから一晩スクリプトを実行していたところ(Linux EC2インスタンスのScreen内)、追跡していなかったいくつかのエラーが発生しました。私は「スクロールアップ」するか、またはScreenでもっと多くの履歴を見たいのですが、うまくいくようなコマンドが見つからないようです。

現在の画面よりもさらに上の画面上の出力を確認する必要があります。 Ctrl + aを押すと、Screen内でスクロールモードになるはずですが、うまくいきません。

50
T. Brian Jones

Screenを起動するときには、-hでスクロールバックバッファのサイズを指定できるので、デフォルトの100行から増やすことができます。ただし、現在実行中の画面では、データがバッファを離れた後は消えています。

29
William Pursell

エスケープシーケンスを上書きしていないと仮定すると、Ctrl-a [を押してスクロールバックモードに入り、次に通常のPage-UP/Page-DOWNまたはCtrl-b/Ctrl-fを使って上下に移動できます。

スクリーンの使い方に関するGentoo Wikiから

69
opyate

出力をディスクに記録するscriptコマンドでコマンドを実行することもできます。あるいは、command 2>&1 | tee /tmp/cmd.out:将来の調査のために出力をログに記録するために、(実質的に)無限大の出力履歴が必要でした。

7
Seth Robertson

実行中の画面のスクロールバック履歴サイズをCTRL-a:(screenコマンド行モードに入る)の順に変更し、10k行の履歴バッファが必要な場合はscrollback 10000と変更することもできます。変更はすぐに適用されます。

非常に長いバッファを持つ画面を多数使用する場合は、メモリ使用量に注意してください。

しかし、@William Pursellが言っていたように、現在実行中の画面では、データがバッファを去るとそれは消えてしまいます。

4
Saïmonn

現在の画面よりもさらに上の画面上の出力を確認する必要があります。 Ctrl + aを押すと、Screen内でスクロールモードになるはずですが、うまくいきません。

他の答えを補足するために、私はあなたがあなたの~/.screenrcファイルに追加することができることを指摘するでしょう:

defscrollback 100000
termcapinfo xterm ti@:te@

ここで、

  • defscrollback 100000:デフォルトのスクロールバック行数を100000に設定します
  • termcapinfo xterm ti@:te@:xtermかPuTTYで端末をスクロールすることを許可します。 ( 画面FAQ ; PuTTY FAQ
4

使用している端末プログラムによっては、通常、設定の下にあるスクロールバッファを変更できます。 xtermでは最初にScrollingを有効にしなければならないことを知っています、それからあなたはバッファを無限に設定することができます。

ただし、スクリプトをログに記録するための最善の策は、標準出力をファイルにリダイレクトすることです。

ScriptName >> OutputFile.txt

こうすることで、レコードを保存するだけでなく、スクロールや検索を自由に行うことができます(つまり、コンピュータがクラッシュした場合)。

編集:これは上記の配管の解決方法に近いですが、標準入力のリダイレクトは他の場合にも便利です。

grep linux stackoverflow.txt > linuxquestions.txt

または

cat linuxquestions.txt | grep buffersize > bufferquestions.txt
0
ginman