Problemas con las teclas de dirección en Ubuntu Server

por Javier Cañadillas, el 24 de Marzo de 2008

Este fin de semana, aprovechando un dist-upgrade más bien catastrófico en mi servidor Debian, he aprovechado para reinstalar mi HP ePC con la última versión de Ubuntu Server, la 8.0.4 Hardy Heron, que aún está en beta (Debian ha muerto, ¡larga vida a Ubuntu!). El objetivo, sencillo: disfrutar como estoy haciendo ahora del maravilloso rtorrent para mis descargas favoritas en un sistema operativo ligero, actual y elegante.

Mi servidor Ubuntu es headless, lo que significa que a parte de no estar ejecutando X, siempre me conecto a él a través de mi MacBook Pro utilizando iTerm. Pues bien, conectado con iTerm lo primero que noté es que vi o vim no capturaban bien algunas secuencias de teclado, particularmente las teclas de dirección. Sin problema, usé las old fashioned hjkl y a correr. Pero el asunto me dejó intrigado así que googleé un poco para topar con la recomendación mayoritaria para resolverlo: instalar vim-full.

Lo intenté, pero el dichoso update te instala muchísimas cosas, entre otras librerías Gnome y las propias X. Como quería mantener mi sistema al mínimo, cancelé la instalación del vim-full y tiré para adelante con las teclas tradicionales.

Pero el problema se agravó cuando comencé a utilizar rtorrent. Pese a que en el terminal todas las combinaciones de teclas funcionaban a la perfección, en rtorrent no. Y no sólo eso, había más teclas con comportamientos extraños. Igualmente, como rtorrent utiliza las combinaciones de teclado de Emacs, tiré para adelante con Ctrl-p, Ctrl-n, Ctrl-b y Ctrl-f. Pero la solución tampoco me dejó satisfecho, así que busqué un poco más.

La solución me llegó cuando usando mi viejo Powerbook para conectarme a mi servidor me di cuenta de que todas las teclas me funcionaban correctamente, tanto en el terminal como en vi, vim o rtorrent, así que al final de todo no parecía ser un problema de Ubuntu, sino del terminal en sí. En mi nuevo MacBook Pro probé a conectarme con terminal en vez de iTerm y, tachán, todo funcionaba. Así que el problema quedó localizado en iTerm.

Pues esto es lo que hay que hacer cuando tengáis el problema que he tenido yo conectándome por SSH desde un Mac a Ubunto con iTerm: en el menú de iTerm id a Bookmarks >Manage Profiles y en Terminal Profiles > Default cambiais lo que tengáis (seguramente xterm-new o algo similar) por ansi. Así de sencillo; todo funcionará en remoto con vuestro Linux y además tendréis un shell mucho más estándar si en un futuro necesitáis conectaros con otros Unix.