Blog

No funcionan algunas teclas en SSH

No funcionan algunas teclas en SSH

Mi proveedor de hosting compartido (Gandi) proporciona un SSH limitado, dentro de un contenedor LXC. Las teclas Home, End, Page Up/Down no funcionaban. Por ejemplo, PageDown se transformaba en la «tilde» ~. En vim veía que registraba ^[[6~.

El protocolo SSH proporciona un campo de tipo de terminal (vt100, xterm…). El cliente debería pasarlo al servidor al conectar. En local es xterm-256color, pero en servidor:

hosting-user@paas_13128:/srv/data$ echo $TERM
vt100

Así que lo cambié a xterm mediante export TERM=xterm, y se corrigió en vim. En el prompt todavía seguía mal. Leyendo en la wiki de Arch mencionaban que las secuencias de escape podrían estar ausentes de /etc/inputrc. En mi caso estaban comentadas:

# mappings for "page up" and "page down" to step to the beginning/end
# of the history
# "\e[5~": beginning-of-history
# "\e[6~": end-of-history

# alternate mappings for "page up" and "page down" to search the history
# "\e[5~": history-search-backward
# "\e[6~": history-search-forward

Puesto que no puedo modificar ese fichero al no tener permisos de superusuario, me creé un ~/.inputrc

hosting-user@paas_13128:/srv/data$ cat ~/.inputrc 
# alternate mappings for "page up" and "page down" to search the history
"\e[5~": history-search-backward
"\e[6~": history-search-forward

Y a continuación cargué con

bind -f ~/.inputrc