When you just open a terminal from your desktop the terminal inherits the environment it was started in, including that PATH. When you open a terminal, the following happens according to the Bash documentation:
From the Bash Reference Manual
When Bash is invoked as an interactive
login shell, or as a non-interactive
shell with the --login option, it
first reads and executes commands from
the file /etc/profile, if that file
exists. After reading that file, it
looks for ~/.bash_profile,
~/.bash_login, and ~/.profile, in that
order, and reads and executes commands
from the first one that exists and is
readable. The --noprofile option may
be used when the shell is started to
inhibit this behavior.
When a login shell exits, Bash reads
and executes commands from the file
~/.bash_logout, if it exists.
When an interactive shell that is not
a login shell is started, Bash reads
and executes commands from ~/.bashrc,
if that file exists. 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 ~/.bashrc.
So, typically, your ~/.bash_profile
contains the line
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
after (or before) any login-specific
So in order to get your .bash_profile to execute you need to log into a login shell, perhaps by ssh-ing into the localhost, or by logging out of your desktop environment and logging back in..