web-dev-qa-db-ja.com

バックスペース、デル、矢印キーがTildaのインタラクティブプログラムで機能しない

私は現在、Debianの軽いネットインストールでOpenboxを実行しています。 Tildaで、nslookupwinexeのようなプログラムを使用すると、一部のキーが正しく機能しません。

  • Backspace^?を生成します
  • Up^[[Aを生成します
  • Left^[[Dを生成します
  • Down^[[Bを生成します
  • Right^[[Cを生成します
  • Delete^[[3を生成します

これは、bashプロンプト自体から入力している場合は問題ではなく、プログラムがTilda内で実行されている場合にのみ問題になります。これは、xtermウィンドウから同じプログラムを実行した場合にも発生しません。

何が得られますか?

5
bw.

bash内では、これらのキーの解釈はreadlineライブラリによって処理されます。ライブラリは、これらのシーケンスを確認し、正しいアクションを実行します。 bashの外では、それらを解釈するためにtty行の規律に依存しています。そのプロセスの詳細については、この最近の質問とその回答を参照してください。 Linuxのシェル/端末で入力ミスした非表示のパスワードをクリア/消去

ラインディシプリンは次のようなキーを処理しません Up、 Left、 Down、 Right、および Delete。今xtermでnslookupを実行すると、同じことを実行します。これは正常な動作です。 (テストするwinexeはありません)。

バックスペースは別の問題です。 Tilda設定ウィンドウ([互換性]の下)で、バックスペースと削除キーの送信内容を変更できます。または、stty -aの出力を確認し、stty erase ^?で送信される文字と一致するように消去文字を設定することにより、TTYが正しい文字で構成されていることを確認できます。

4
Jim Paris