Acredito que o xterm não execute um shell de login por padrão. Tente usar "xterm -ls" se você quiser ler seus scripts de perfil
Da página do manual do xterm
-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).
Da página do bash man
When invoked as an interactive login shell, or a non-interactive
shell with the --login option, it first attempts to read and
execute commands from /etc/profile and ~/.profile, in that order.