終了時に、「less」は「screen」セッションで実行された場合、その内容をクリアしません

終了時に、「less」は「screen」セッションで実行された場合、その内容をクリアしません

重複の可能性あり:
screenを使用すると、lessやmanなどのコマンドはその後画面をクリアしません。

通常の bash で 'less' を終了すると、'less' によって表示された以前の内容がクリアされ、bash の内容が再度表示されます。これがデフォルトの動作であり、私が望んでいることです。

ただし、「screen」セッションで「less」を使用すると (screen セッション内では引き続き bash)、終了した後も「less」によって表示された内容は消去されず、bash の内容は消えてしまいます (ただし、新しい bash コマンドライン プロンプトは表示されます)。

どうすれば、する終了したらディスプレイをクリアします。'screen' セッション内で使用していますが?

答え1

次のコマンドをファイルに追加してみてください~/.screenrc:

altscreen on

また、内部からCtrl- を実行して、現在のセッションでオンとオフを切り替えることもできます。a : altscreen onscreen

環境変数の値に$LESS含まれていないことを確認してください。X

答え2

これらが機能することも確認してください:

$ tput smcup | od -c
$ tput rmcup | od -c

次のような内容が印刷されるはずです:

0000000 033  [  ?  1  0  4  9  h

それよりも:

0000000

関連情報