セッションを再接続するときに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
ctrl-a F
を再接続した後、「fit」コマンドを実行して現在のウィンドウのサイズを変更します。 -A
オプションを使用して再接続すると、再接続時にすべてのウィンドウのサイズが変更されます。アタッチしているときに、スクリーンセッションにまだアタッチされている他のユーザーはいますか?たとえば、-rの代わりに-xを使用して再接続する必要がありますか? 「screen -x」の代わりに「screen -D -r」を使用して再接続するときに、他のデバイスを切り離すことができます。これにより、ウィンドウが自動的に再調整されると思います。
この回答はPuTTYにのみ適用されることに注意してください。私も使いたくないオペレーティングシステムを使用せざるを得ません。システムに他の制限があるため、PuTTYが唯一の現実的な選択肢です。同じ問題が発生しました。既存の画面セッションを開始または接続すると、画面のサイズが変更されます。私はここで答えを試してみましたが(MSI経由でインストールされたPuTTY 0.67がインストールされたWindows 10)。これらの回答者は標準のUN * X端末で機能した可能性がありますが、PuTTYでは機能しませんでした。これは別の野獣です。
オプションを掘り下げたところ、「ターミナル->機能」の下に「リモート制御ターミナルのサイズ変更を無効にする」というオプションがあります。チェックボックスをオンにして設定を適用し、画面を再試行してください。問題は解決したと思います。
これを(/ 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'