Cuando ssh
entro a uno de nuestros servidores, no puedo ingresar un carácter de barra diagonal, lo que dificulta hacer casi cualquier cosa (como ls /
). ¿Cómo puedo hacer que funcione la barra diagonal?
Alguna información adicional:
/etc/issue
afirma que está ejecutando "CentOS versión 5.7 (final)"- La única manera de saber esto es ejecutando
ssh me@some-host cat /etc/issue
- Estoy usando Mac OS X Terminal.app y nunca he tenido problemas con esto, en sistemas Centos 5 o de otra manera.
- No sé quién ni cómo se construyó y configuró la máquina.
echo $TERM
informesxterm-256color
No sé si esto tiene sentido para alguien (no tiene sentido para mí), pero busqué
diff
el/etc/inputrc
servidor que funcionaba mal con uno que funciona y obtuve lo siguiente:$ 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
Respuesta1
Esta línea es tu problema.
/# do not bell on tab-completion
Si agrego esa línea a mi configuración de trabajo, la barra diagonal deja de funcionar.
La única pista que puedo encontrar sobre esto está en la página de manual de readline:
Se ignoran las líneas en blanco. Las líneas que comienzan con # son comentarios. Las líneas que comienzan con $ indican construcciones condicionales. Otras líneas indican combinaciones de teclas y configuraciones variables.
Dado que no es una línea en blanco y no comienza con #
o $
, debe tratarse como una combinación de teclas.
Respuesta2
Se puede utilizar un programa llamado xmodmap para modificar mapas de teclas. Mira man xmodmap
si ya está instalado.
En pocas palabras, utilícelo xev
para ver detalles sobre eventos X. Enciéndelo y presiona la tecla /. En mi configuración este es el resultado que obtengo:
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
Luego, en la máquina remota, use xmodmap -e 'keycode [KEYCODE] = [KEYSYM]
para crear la asignación, donde [KEYCODE] y [KEYSYM] son los valores recuperados de xev. Intente configurar primero el valor predeterminado 61,0x2f para ver si solo es necesario restablecerlo. (es decir, xmodmap -e 'keycode 61 = 0x2f'
)
Si eso no es posible, intente asignar una clave diferente. Por ejemplo, probé el código clave 105 (control derecho) en 0x2f. Eso funcionó localmente y en una sesión ssh para mí.
Editar:
Es posible que también desee establecer el signo de interrogación. Extienda el comando anterior a xmodmap -e 'keycode 61 = 0x2f 0x3f
'. Puedes ver un completolista de símbolos clave aquí.