SSH経由でログインすると、スラッシュ文字を入力できません。

SSH経由でログインすると、スラッシュ文字を入力できません。

私たちのサーバーの1つにログインすると、sshスラッシュ文字を入力できず、何もできません(例ls /:)。 スラッシュをどのように機能させることができますか?

追加情報:

  • /etc/issue「CentOSバージョン5.7(最終)」を実行していると主張します。
  • 私がこれを知っている唯一の方法は走ることですssh me@some-host cat /etc/issue
  • 私はMac OS X Terminal.appを使用していますが、Centos 5や他のシステムではこの問題は発生していません。
  • 私はこの機械を誰が作ったか取付けたか全然知りません。
  • echo $TERMレポートxterm-256color
  • これが誰にも理解できるかどうかはわかりませんが(私には理解できません)、動作しているサーバーでdiff失敗したサーバーを修正し、/etc/inputrc次のようになりました。

    $ diff /tmp/{good,bad}_inputrc
    1c1
    < # do not bell on tab-completion
    ---
    > /# do not bell on tab-completion
    37a38,49
    > 
    > # Home Key
    > "\e[7~":beginning-of-line
    > 
    > # End Key
    > "\e[8~":end-of-line
    > 
    > # Delete Key
    > "\e[3~":delete-char
    > 
    > # Insert Key
    > "\e[2~":paste-from-clipboard
    

答え1

この行は問題です。

/# do not bell on tab-completion

その行をジョブ構成に追加すると、スラッシュの動作が停止します。

私が見つけることができる唯一の手がかりはreadlineのマニュアルページにあります:

空行は無視されます。 #で始まる行はコメントです。 $ で始まる行は条件付き構造を表します。他の行はキーバインディングと変数設定を示します。

空行ではなく#or で始まらないので、$キーバインディングとして扱う必要があります。

答え2

xmodmap というプログラムを使用してキーマップを変更できます。man xmodmapインストールされていることを確認してください。

つまり、xevXイベントに関する詳細情報を表示するために使用されます。それを実行して/キーを押します。私の設定で得られた結果は次のとおりです。

KeyRelease event, serial 34, synthetic NO, window 0x4e00001,
root 0x15a, subw 0x0, time 107752919, (784,828), root:(789,850),
state 0x10, keycode 61 (keysym 0x2f, slash), same_screen YES,
XLookupString gives 1 bytes: (2f) "/"
XFilterEvent returns: False

次に、リモートコンピュータで、xmodmap -e 'keycode [KEYCODE] = [KEYSYM][KEYCODE]と[KEYSYM]がxevから取得された値であるマッピング生成を使用します。まず、デフォルトの61,0x2fを設定してリセットが必要かどうかを確認します。 (つまり、xmodmap -e 'keycode 61 = 0x2f'

それでも機能しない場合は、別のキーをマップしてみてください。たとえば、キーコード105(右コントロール)を0x2fに変更してみました。これはローカルセッションとSSHセッションの両方で機能します。

編集する:

疑問符を設定することもできます。前のコマンドを展開するとxmodmap -e 'keycode 61 = 0x2f 0x3f'。ここに主要なシンボルのリストがあります。

関連情報