Sounds like the Gnome terminal isn’t triggering a login shell.
From ksh(1):
Code:
-l Login shell. If the basename the shell is called with (i.e.
argv[0]) starts with `-' or if this option is used, the shell is
assumed to be a login shell and the shell reads and executes the
contents of /etc/profile and $HOME/.profile if they exist and are
readable.
From xterm(1):
Code:
-ls This option indicates that the shell that is started in the
xterm window will be a login shell (i.e., the first character
of argv[0] will be a dash, indicating to the shell that it
should read the user's .login or .profile).
-ls seems to be the default behavior for my xterm. The equivalent for Gnome terminal may not be the default.