Porque quando você inicia o xterm, ele pega as configurações atuais do teclado e lê as chaves brutas do teclado - em vez de solicitar ao sistema operacional informações textuais.
Infelizmente, não posso dar uma resposta absoluta, porque não importa a minha entrada, meu xterm acaba usando um mapa de teclado do Reino Unido (não é bom para o meu teclado nos EUA).
Isso eu diagnostiquei parcialmente via setxkbmap
xkb_keymap {
xkb_keycodes { include "empty+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "empty(basic)" };
xkb_geometry { include "pc(pc104)" };
};
Não tenho certeza de onde ele é o padrão, mas sei que quando ele está funcionando corretamente, você pode digitar algo como:
setxkbmap dvorak
veja: link
Também pode ajudar a instalar alguns extras, se puder:
sudo port install xkeyboard-config xkbcomp setxkbmap
A propósito, se você quiser usar mapas de teclado diferentes em aplicativos diferentes,