Sem saber seu .bashrc e seu .profile , não podemos dizer. Por exemplo, o padrão .profile nas origens do Ubuntu .bashrc . Agora, se você escolher .profile de .bashrc , receberá um loop infinito:
$ bash
zsh: segmentation fault (core dumped) bash
(eu uso o zsh, é por isso que o zsh reporta o segfault.)
Você pode colocar guardas para garantir que esses arquivos sejam adquiridos no máximo uma vez, mas quem sabe o que mais pode interagir de forma estranha?
Para o problema de variáveis de ambiente, depende de como você está iniciando esse shell interativo de não-login. Experimente .pam_environment .