^[OPの代わりに^[[AでxtermのF1キーをプログラムしてください。

^[OPの代わりに^[[AでxtermのF1キーをプログラムしてください。

セキュリティ上の理由から、古いTelnetシステムをSSHに切り替える作業が私に与えられました。私たちのスタッフは、小さなポータブルデバイスを使用してサーバーへのTelnet接続を実行し、呪いプログラムを実行します。

私が経験している問題は、ssh + xtermと接続したときに別のファンクションキーを読み取る前に使用していた奇妙なTelnetソフトウェアが今読むことです。

実行中のCursプログラムでは、ユーザーがそれを押すと(16進数で)送信されなければF1なりません。プログラムはそれを読み取り、操作を実行します。しかし、現在受信中です(私の考えでは)。^[[A1B 5B 5B 41^[OP1B 5B 4F 50

^[[A私はこの問題についてインターネット検索をしていくつかのことを見つけましたが、キーシムに何があるべきかわからないので、それらのどれも私に必要なようではありません。

私はすでにinputrc試しました。

^[OP: ^[[A

ただし、これは^[[A不明なコマンドというエラーを返します。

xmodmap名前を探していますが、それが何であるかわからないので、シードは役に立たないようです。私も同じようにF2しなければならないF9

私が使用している環境は、openboxを実行する非常に限られたLinuxボックスです。

ベストアンサー1

xtermキーを文字シーケンスに変換できます。これはリソースを設定することによって行われます。たとえば、次のようになります。

XTerm*VT100.Translations: #override\n\
 <Key>F1: string(0x1b) string("[A")\n\
 <Key>F2: string(0x1b) string("[B")\n

通常、これらの行をファイルに入れると、~/.Xdefaultsサーバーの起動時にそれを読み取ります。より動的に実行されているサーバーにロードまたは再ロードできます。

xrdb -merge <~/.Xdefaults

おすすめ記事