Windows PC からの SSH セッションで、Esc、Ctrl、Shift、Alt などのキーが機能しないのはなぜですか?

Windows PC からの SSH セッションで、Esc、Ctrl、Shift、Alt などのキーが機能しないのはなぜですか?

私は Windows PC で作業しています。Linux (CentOS) マシンにターミナル (PuTTY または SSH を使用) を開いても、、、などのキーが機能EscCtrlませShiftAlt

Midnight Commander に必要です (現在動作していませCtrl+InsShift+Ins)。これらのキーを動作させることは可能ですか?

答え1

PuttyUnixシリアル()接続を介してマシンに接続された端末をエミュレートしますRS232cここ設定オプションについては、、、、を参照してください。一般的な端末タイプには、、、、vt100などvt200があります。xtermansi

適切な操作を行うには、Unix環境変数がTERMエミュレートする端末のタイプと一致する必要があります (Putty設定を参照Connection/Data/Terminal-type)。私はxterm、テキスト モードのコンソール ウィンドウにも を使用しています。

echo $TERM現在の値を見つけるには、 as コマンドを使用します。

Escは、端末制御シーケンスの最初の文字です。したがって、通常はスタンドアロン文字として使用しないでください。CtrlShiftおよびAltそれ自体では、マシンに送信される文字をトリガーしません。設定メニューを使用して、特定のキーがどのように変換されるかに影響を与えることUnixができます。PuttyTerminal/Keyboard

答え2

PuTTYは変数TERMxterm、その動作は実際には xterm の動作と一致しません。質問には 2 つの機能が言及されています。

  • Escapeとして接頭辞特別なキーによって返されるものは、xtermの代わりとしてメタキー(eightBitInput(マニュアルに記載)
  • その他のキー ( ControlShift)Altは通常、*修飾子として使用されます。つまり、通常、それらのキーは単独では文字を送信せず、同時に押されたキーの動作を変更します。

ncurses FAQ についてシフトまたはコントロール修飾子はどのように使用すればよいですか?修正された鍵の背景の一部を示します。PuTTYは実装していませんどれでもそれはするシフトカーソルキーによって送信される制御シーケンスを変更し、普通そして応用モード(xterm FAQを参照)なぜ(何らかの)シェルでカーソルキーが使用できないのでしょうか?これらの用語についての議論については、こちらをご覧ください。

ncursesには、デフォルトの設定に関する正確な端末の説明があります。パテ(キーボードダイアログの設定に対応するためにいくつかの説明を作成することもできますが、実際にはそれらはほとんど言及されず、おそらくほとんど使用されません)。完全な端末データベースを備えたシステムでは、putty端末の説明。

他の端末エミュレータと同様にTERMxterm完全な端末記述は と比べて多くの違いがありますxterm。ncurses FAQTERM を「xterm」に設定して使用しないのはなぜですか?その側面について概要を説明します。

言及sshCygwinで使用しているかもしれないヒントmintty。これはPuTTY、ほぼ同じ制限があります。

答え3

答えはあなたはできませんこれは PuTTY のバグです。

があるキティCtrlこれは PuTTY のフォークであり、適切な/サポートを実装しているのでShift、確認してみるとよいでしょう。

ソース:https://superuser.com/a/1226621/360137

補足ですが、KiTTY にはデフォルトで透明度を制御するホットキーがあるため、セッションのデフォルト値としてをCtrl+Up/Down設定することで透明度を完全に無効にすることができます。Window->Transparency-1

答え4

putty4far2l puttyフォークの作者として、次のことを試してみることをお勧めします。ファール+翻訳者» は「mc + putty」のユーザー エクスペリエンスに似ていますが、完全なキーボード サポートを備えています。これは、いわゆる「far2l ターミナル拡張」を通じて利用できます。putty4far2l 内の far2l 内で mc を実行すると、mc でも完全なキーボード サポートが利用できるようになります。

PS: far2lのppaはここputty4far2lのバイナリはgithubで直接入手できます。

関連情報