~ / .bash_profile, ~ / .bash_login e ~ / .profile parecem ser lidos no login, mas com base em outra pergunta, eles não parecem ser capazes de executar o xmodmap de forma confiável.
Embora seja enlouquecedor, a única maneira de resolver isso é adicionar um script como um item de inicialização.