Re: /etc/profile and gdm/xdm

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
Delete this message
Reply to this message
Author: Mark Phillips
Date:  
To: plug-discuss
Subject: Re: /etc/profile and gdm/xdm
Jeremy,

Thanks again for your response. I am still missing something.

My /home/mark/.xsession file (how strange that you know I use kde....)

mark@latitude610:~$ cat .xsession
. /etc/profile
exec startkde
mark@latitude610:~$

But when I try this, I still don't have my environment variables set:

mark@latitude610:~$ echo $JAVA_HOME

mark@latitude610:~$

However, this works in a terminal window:

mark@latitude610:~$ . /etc/profile
mark@latitude610:~$ echo $JAVA_HOME
/usr/local/lib/jdk
mark@latitude610:~$

What am I missing, so that the environment variables are loaded when I
login? Is there a global place (like /etc/profile) where I can put my
environment variables and have them available when I login? I tried
rummaging around the gdm documentation and on the net, but I can't seem
to find out how to do this. That surprises me, since I would think this
would be a common problem and would have been solved already.

I am also surprised that there isn't a way to do source /etc/profile in
gdm.conf. I looked at the gdm manual
(http://www.jirka.org/gdm-documentation/x241.html) and found this:

----snip----
BaseXsession

BaseXsession=<etc>/gdm/Xsession

    This is the base X session file. When a user logs in, this script
    will be run with the selected session as the first argument. The
    selected session will be the Exec= from the .desktop file of the
    session.


    If you wish to use the same script for several different display
    managers, and wish to have some of the script run only for GDM, then
    you can check the presence of the GDMSESSION environmental variable.
    This will always be set to the basename of .desktop (without the
    extension) file that is being used for this session, and will only
    be set for GDM sessions. Previously some scripts were checking for
    GDM_LANG, but that is only set when the user picks a non-system
    default language.


    This script should take care of doing the "login" for the user and
    so it should source the /etc/profile and friends. The standard
    script shipped with GDM sources the files in this order:
    /etc/profile then ~/.profile then /etc/xprofile and finally
    ~/.xprofile. Note that different distributions may change this
    however. Sometimes users personal setup will be in ~/.bash_profile,
    however broken that is.


----snip----

My gdm.conf has the entry BaseXsession= /etc/gdm/Xsession, and
/etc/gdm/Xsession does exist. It seems that Debian (my distro) must
change this process somehow since it does not source /etc/profile (see
the last paragraph).

Boy, am I confused!

Thanks!

Mark

Jeremy C. Reed wrote:

>On Sat, 18 Dec 2004, Mark Phillips wrote:
>
>
>
>>Thanks for your response....I tried the following and the environment
>>variables I set up in /etc/profile are still not being read:
>>
>>1. Created a file .xsession
>>2. Added these lines:
>>. /etc/profile
>>exec gdm
>>
>>
>
>Don't restart the display manager. The display manager will run
>~/.xsession.
>
>exec startkde # or exec blackbox # for example
>
>
> Jeremy C. Reed
>
>                 BSD News, BSD tutorials, BSD links
>                http://www.bsdnewsletter.com/

>
>---------------------------------------------------
>PLUG-discuss mailing list -
>To subscribe, unsubscribe, or to change you mail settings:
>http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss
>
>
>