現在、管理しているUbuntu 14.04.2 LTSサーバーで非常に奇妙な動作が発生しています。
Cygwin(mintty)またはLinuxマシンの端末からsshを介してサーバーに接続しているときに、e
を入力できません。
私は次のデバッグを行いました:
e
は、リモートサーバーのvimに入力できます。e
は、ローカルマシンのターミナルに入力できます$TERM
はxterm
に設定されます$LANG
、$LANGUAGE
および$LC_ALL
はde_DE.utf8
に設定されますlocale charmap
はUTF-8
を返します今、私はこれを引き起こしている可能性のあるアイデアを完全に失っています。
これを修正する方法に関するいくつかのアドバイスについては、私は非常に満足しています。
私の問題は Amazon ec2(Amazon Linux)では小文字のeを入力できない と同じではありませんが、似ています。
/etc/inputrc
を確認し、通常とは異なる点を見つけた後、/etc/bash.bashrc
でいくつかのキーバインドを実行したことを思い出しました。これはすでに非常に長い間存在し、完璧に機能しました。なぜ今問題になるのですか?
/etc/bash.bashrc
を確認したところ、次のことがわかりました。
すべてのファイルはansibleを使用して管理されるため、このコマンドもansibleを使用して挿入されています。
- name: Up Arrow Command Search
lineinfile: dest=/etc/bash.bashrc line="bind '\"\e[A\"':history-search-backward"
- name: Down Arrow Command Search
lineinfile: dest=/etc/bash.bashrc line="bind '\"\e[B\"':history-search-forward"
おそらく、最近のansible更新によりlineinfileの動作が変更されたため、コマンドの結果は
bind \e[A:history-search-backward
bind \e[B:history-search-forward
の代わりに
bind '"\e[A"':history-search-backward
bind '"\e[B"':history-search-forward
そしてそのため、奇妙な行動をもたらしました。
Eric Renouf に感謝します。同様の問題を持つ他の質問へのリンクに感謝します!