web-dev-qa-db-ja.com

[UP]キーで生成されたコードがsshセッション後に変更された理由

私はcygwin環境のかわいらしいウィンドウにいます。

入力したとき ⎈ Ctrl+V その後  私が得た鍵:^[[A

次に、Raspberry Piにsshして、すぐに終了します。

今私はタイプします ⎈ Ctrl+V その後  私が得る鍵:^[OA

~$ ^[[A
~$ ssh rasp
Last login: Tue Dec 24 12:08:16 2019 from 192.168.0.5
raspberrypi%
Connection to 192.168.0.12 closed.
~$ ^[OA

誰かが私が理解するのを手伝ってくれる?

4
Philippe

ログイン時に、リモートシェル内の何かが端末を初期化しています(おそらくsshコマンド自体ですが、それは誤動作です)。 ^[[Aは通常モードであり、^[OAアプリケーションモード(XTerm Control Sequencessummary を参照)、および全画面操作用に端末を初期化するscreenなどのアプリケーションは通常、端末記述の端末初期化機能。 minttyには独自の端末の説明がありますが、TERMxtermに設定します。したがって、xtermの初期化文字列( xterm-basic を参照)を取得しています。おそらくsmkx

smkx=\E[?1h\E=

これは2つの設定です:

これが、アプリケーションが何かを設定し、それをリセットしない(同じ端末の説明を使用する)場合である場合は、次の方法でフォローアップできます。

tput rmkx

(そのモードを削除します)。 screenまたはtmux内でこれを行うと、screen/tmuxプログラムが混乱します。他のプログラムの中でそれを行うのも良いことではないかもしれません...

7
Thomas Dickey