tty構成に関するGNOME端末の問題

tty構成に関するGNOME端末の問題

奇妙な問題が発生しました。何が起こっているのかをよりよく説明する写真を追加します。

GNOME端末のttyの問題

ご覧のとおり。使用git logして終了した後(qまたはQまたは:qまたは^ Cを押す)、コマンドは使用できなくなります。

インターネット検索の最後にこのコマンドが見つかり、stty sane端末が修正されたようです。しかし、私は言うことができません。なぜまたはどのようにGNOME端末を修理できますか?

私が見ることができる限り、修正は前後にstty -a同じ出力を示しています。

デバッグを開始する方法についてのアイデアや提案はありますか?

VTE + GNUTLSのバージョン0.46.2を使用して、GNOME 3.22.2でgnome端末を使用しています。

編集する:

答えてくれてありがとう。 2つの構成をもう一度見てみましたが、違いがわかりました。

chris@Gentoo ~ $ diff stty-bad stty-good 
4c4
< werase = ^W; lnext = <undef>; discard = ^O; min = 1; time = 0;
---
> werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
6c6
< -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl 
ixon -ixoff
---
> -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl 
ixon -ixoff
9c9
< isig -icanon iexten -echo echoe echok -echonl -noflsh -xcase -
tostop -echoprt
---
> isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop 
-echoprt

まだ確認する必要があるリストが長く、オプションでできるだけ多く読みますが、答えは残ります。どのようにstty sane問題を解決しました。git logそれが本当の問題ではないからです。試してみましたがgit --no-pager log、しばらくしてコミットを印刷して^ Cを押すと同じことが起こります...

編集2:

さて、各オプションを切り替えた後、ルートは-echo可変です。しかしそれでは質問は一つしか残りません。なぜデフォルト変数を実行git logまたは変更します。^Cechoどこ根本原因を見つけることができますか?頑張ってますか?少ない(git logポケットベル)?それともGNOME端末?それともstty?

答え1

つまり、git logきちんと整理されていません...単一のキーを押すのを待つアプリケーション(vi、lessなど)は、単純さを維持するために端末をエコーを抑制し、特殊制御文字を削除するなどのモードに切り替えます。ただし、クリーンアップしないと端末は使用できません。

このstty saneコマンドは、単に端末モードを所定の値に設定する。編集文字が機能しない場合は変更できます(stty sane削除文字を設定する一部のUnixプラットフォームを除く@)。出力を比較するためにスクリプトを使用しましたが、stty短くはありません...

4枚の写真には少なくとも1つの違いがあります(わかります)-icanon、これはライン編集を妨げるのに十分です)。ちなみに後で見た内容はこんな感じですstty sane

$ stty -a
speed 38400 baud; rows 40; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

もしそうなら、もう少し詳しく見てみると良いかもしれません。

関連情報