
私たちのサーバーの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
インストールされていることを確認してください。
つまり、xev
Xイベントに関する詳細情報を表示するために使用されます。それを実行して/キーを押します。私の設定で得られた結果は次のとおりです。
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
'。ここに主要なシンボルのリストがあります。。