xmodmap só faz alguma coisa quando você já está em uma sessão X (porque tem que fazer chamadas para o servidor X), e nem ~/.bashrc (nem ~/.profile ) garantem que , nem serão executados automaticamente quando você entrar em uma sessão X. Você precisa colocá-lo em sua configuração de inicialização.
Se você estiver usando startx ou xinit para iniciar o X, coloque isso em ~/.xinitrc . Se você estiver usando outra coisa, consulte sua documentação para descobrir onde deve colocar os aplicativos de inicialização.