In your home directory there is a file called .dtprofile which is used to set environment variables so they are available to all applications on the Common Desktop Environment (CDE). By default, the desktop does not read your standard $HOME/.profile or $HOME/.login files. This can be changed by uncommenting the DTSOURCEPROFILE variable assignment at the end of this file. The desktop reads .profile if your $SHELL is "sh" or "ksh", or .login if your $SHELL is "csh".
To learn more about which variables to set where, read the comments at the top of the .dtprofile file in your home directory which is copied below.
##################################################
### Your $HOME/.dtprofile is read each time you login to the Common Desktop Environment (CDE) and is the place to set or override desktop environment variables for your session. Environment variables set in $HOME/.dtprofile are made available to all applications on the desktop. The desktop will accept either sh or ksh syntax for the commands in $HOME/.dtprofile.
###
### By default, the desktop does not read your standard $HOME/.profile or $HOME/.login files. This can be changed by uncommenting the DTSOURCEPROFILE variable assignment at the end of this file. The desktop reads .profile if your $SHELL is "sh" or "ksh", or .login if your $SHELL is "csh".
###
### The desktop reads the .dtprofile and .profile/.login without an associated terminal emulator such as xterm or dtterm. This means there is no available command line for interaction with the user. This being the case, these scripts must avoid using commands that depend on having an associated terminal emulator or that interact with the user. Any messages printed in these scripts will not be seen when you log in and any prompts such as by the 'read' command will return an empty string to the script. Commands that set a terminal state, such as "tset" or "stty" should be avoided.
###
### With minor editing, it is possible to adapt your .profile or .login for use both with and without the desktop. Group the statements not appropriate for your desktop session into one section and enclose them with an "if" statement that checks for the setting of the "DT" environment variable. When the desktop reads your .profile or .login file, it will set "DT" to a non-empty value for which your .profile or .login can test.
###
### example for sh/ksh
###
### if [ ! "$DT" ]; then
### #
### # commands and environment variables not appropriate for desktop
### #
### stty ...
### tset ...
### DISPLAY=mydisplay:0
### ...
### fi
###
### #
### # environment variables common to both desktop and non-desktop
### #
### PATH=$HOME/bin:$PATH
### MYVAR=value
### export MYVAR
### ...
###
### example for csh
###
### if ( ! ${?DT} ) then
### #
### # commands and environment variables not appropriate for desktop
### #
### stty ...
### tset ...
### setenv DISPLAY mydisplay:0
### ...
### endif
###
### #
### # environment variables common to both desktop and non-desktop
### #
### setenv PATH $HOME/bin:$PATH
### setenv MYVAR value
### ...
###
### Errors in .dtprofile or .profile (.login) may prevent a successful login. If after you login, your session startup terminates and you are presented with the login screen, this might be the cause. If this happens, select the Options->Sessions->Failsafe Session item on the login screen, login and correct the error. The $HOME/.dt/startlog and $HOME/.dt/errorlog files may be helpful in identifying errors.
###
#############################################
#
# If $HOME/.profile (.login) has been edited as described above,
# uncomment the following line.
#
#DTSOURCEPROFILE=true