再接続するときに、GNU画面を現在の端末幅に強制的にリフローしますか?

再接続するときに、GNU画面を現在の端末幅に強制的にリフローしますか?

セッションに再接続すると、GNU画面が既存の端末幅にリフローされるように強制したいと思います。システムをCentOS 6にアップグレードするまでは正常に動作しているようですが、復元方法がわかりません。 ( TERM=xterm)

セッションを再接続するたびに、セッションを切断したときの状態に関係なく、80列で始まり、それに応じて端末(この場合PuTTY)のサイズが変更されます。

起動して再接続しています。

screen -aA -R <session>

私の .screenrc には、以下に関連しないキーバインディングだけが含まれています。

term xterm

defscrollback 10000

# status line at the bottom
hardstatus on
hardstatus alwayslastline
hardstatus string "${-}%{.0c}%-w%{.y0}%f%n %t%{-}%+w %=%{..G}[%H] %{..Y} %D %M %d, %Y %c | Load: %l"
caption splitonly "%{.yK}%3n t"
caption string "%{.c0}%3n %t"

vbell off

# Fix fullscreen programs
altscreen on

答え1

再接続したら、ctrl-a F「fit」コマンドを実行して現在のウィンドウのサイズを変更します。そのオプションを使用して再接続すると、-A再接続時にすべてのウィンドウのサイズが変更されます。添付時にスクリーンセッションに他の人が添付されていますか?たとえば、再接続するには、-rの代わりに-xを使用する必要がありますか? 「screen -x」の代わりに「screen -D -r」を使用して再接続すると、別のウィンドウを切り離すことができます。これにより、自動的にウィンドウを再マウントできるようになります。

答え2

この回答はPuTTYにのみ適用されます。また、使用したくないオペレーティングシステムを使用する必要がありますが、システムの他の制限により、PuTTYが唯一の実際のオプションです。同じ問題が発生し、既存の画面セッションを開始または接続すると画面のサイズが変更されます。ここで成功せずに答えを試みました(MSIを介してPuTTY 0.67がインストールされているWindows 10)。この回答は標準のUN * X端末では機能しますが、他の獣であるPuTTYでは機能しない可能性があります。

オプションを見てみると、「ターミナル->機能」の下に「リモートコントロール端末のサイズ変更を無効にする」というオプションがありました。チェックボックスをオンにして設定を適用したら、画面をもう一度やり直してください。私はあなたが問題が解決されたことがわかると思います。

答え3

/etc/screenrcでこれを〜/.screenrcに追加してみてください:

# Change the xterm initialization string from is2=\E[!p\E[?3;4l\E[4l\E>
# (This fixes the "Aborted because of window size change" konsole symptoms found
#  in bug #134198)
termcapinfo xterm* 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'

https://superuser.com/a/217281/6593

関連情報