Beim Anmelden über SSH kann kein Schrägstrich eingegeben werden

Beim Anmelden über SSH kann kein Schrägstrich eingegeben werden

Wenn ich sshmich bei einem unserer Server anmelde, kann ich keinen Schrägstrich eingeben, was praktisch alles erschwert (z. B. ls /). Wie kann ich den Schrägstrich zum Laufen bringen?

Einige zusätzliche Informationen:

  • /etc/issuebehauptet, es laufe „CentOS Release 5.7 (Final)“
  • Ich weiß das nur, indem ich laufessh me@some-host cat /etc/issue
  • Ich verwende Mac OS X Terminal.app und hatte damit noch nie Probleme, weder auf Centos 5-Systemen noch auf anderen
  • Ich weiß nicht, wer oder wie die Maschine gebaut und eingerichtet wurde
  • echo $TERMBerichtexterm-256color
  • ich weiß nicht, ob das für irgendjemanden Sinn ergibt (für mich ergibt es keinen Sinn), aber ich diffhabe den /etc/inputrcServer, der nicht funktioniert, mit einem Server verglichen, der funktioniert, und habe Folgendes erhalten:

    $ 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
    

Antwort1

Diese Zeile ist Ihr Problem

/# do not bell on tab-completion

Wenn ich diese Zeile zu meiner Arbeitskonfiguration hinzufüge, funktioniert Slash nicht mehr.

Der einzige Hinweis, den ich dazu finden kann, ist auf der Manpage von Readline:

Leere Zeilen werden ignoriert. Zeilen, die mit einem # beginnen, sind Kommentare. Zeilen, die mit einem $ beginnen, zeigen bedingte Konstrukte an. Andere Zeilen kennzeichnen Tastenkombinationen und Variableneinstellungen.

Da es keine leere Zeile ist und nicht mit #oder beginnt $, muss es als Tastenkombination behandelt werden.

Antwort2

Mit einem Programm namens xmodmap können Sie Tastaturbelegungen ändern. Prüfen Sie, man xmodmapob es bereits installiert ist.

Kurz gesagt, verwenden Sie es, xevum Details zu X-Ereignissen anzuzeigen. Starten Sie es und drücken Sie die Taste /. Bei meinem Setup ist dies das Ergebnis, das ich erhalte:

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

Erstellen Sie dann auf dem Remotecomputer xmodmap -e 'keycode [KEYCODE] = [KEYSYM]die Zuordnung, wobei [KEYCODE] und [KEYSYM] die von xev abgerufenen Werte sind. Versuchen Sie zunächst, den Standardwert 61,0x2f festzulegen, um zu sehen, ob er nur zurückgesetzt werden muss. (d. h. xmodmap -e 'keycode 61 = 0x2f')

Wenn das nicht geht, versuchen Sie, eine andere Taste zuzuordnen. Ich habe beispielsweise versucht, den Tastencode 105 (rechte Strg-Taste) auf 0x2f zu setzen. Das hat bei mir lokal und in einer SSH-Sitzung funktioniert.

Bearbeiten:

Möglicherweise möchten Sie auch das Fragezeichen setzen. Erweitern Sie den vorherigen Befehl auf xmodmap -e 'keycode 61 = 0x2f 0x3f'. Sie können eine vollständigeListe der Keysyms hier.

verwandte Informationen