Você tentou fazer o sourcing em ~/.bashrc em vez de ~/.profile ?
Na página do manual do Bash:
When an interactive shell that is not a login shell is started, bash
reads and executes commands from /etc/bash.bashrc and ~/.bashrc, if
these files exist. This may be inhibited by using the --norc option.
The --rcfile file option will force bash to read and execute commands
from file instead of /etc/bash.bashrc and ~/.bashrc.
Qual seria o caso quando você executa um terminal em uma sessão X-window, por exemplo.