web-dev-qa-db-ja.com

サイズ変更後の端末の動作がおかしい(改行なし)

Gnome3.18を搭載したArchLinuxで、ターミナルウィンドウのサイズを変更し、たとえばlsmpvなどのコマンドを入力し、ドラッグして再度サイズを変更すると、ターミナルが奇妙に動作するという問題があります。マウスカーソルでウィンドウの境界線。

押すと  履歴に戻るには、行が長く、新しい行(または改行)は作成されませんが、同じ行が左から右に上書きされます。抱きしめると  キーボードでは、プロンプトが上に移動し、上の端末出力を「食べます」。私は、すべてgnomeセッションから開始された、gnome-terminal、lxterminal、およびxtermで同様の動作を確認できるように試みました。

これは、この奇妙な動作を示すスクリーンキャストです: https://vimeo.com/147162618

これは何であり、この動作の理由をどこで検索できますか?

1
haheute

通常、これはbashがウィンドウサイズ変更イベントを処理する方法の癖によるものです。更新方法を認識できるように、SIGWINCHキャプチャできますコマンドラインを編集するための画面幅の概念。

見る場所はcheckwinsizeオプションです:

checkwinsize

設定されている場合、Bashは各コマンドの後にウィンドウサイズをチェックし、必要に応じてLINESおよびCOLUMNSの値を更新します。

機能全体に問題があります。

ただし、一般的に、オプションがまだ設定されていない場合は、オプションを設定することをお勧めします。

shopt -s checkwinsize

参考文献:

0
Thomas Dickey