Re: gdm and shell rc files



On Tue, Sep 21, 2004 at 11:01:14AM -0500, Brian Cameron wrote:
> So, the way gdm2 currently works, user's who use bash or csh do
> not get the behavior specified in the bash/csh man pages.  I
> remember talking to George in the past, and I seem to remember
> that he felt that gdm2 is currently doing things properly.
> However, this seems broken.  Shouldn't gdm be changed to work
> better with bash and csh?

No.  Reasoning is this: if you use csh or bash as your command shell, your
startup should be the same.  There is absolutely no reason why changing your
command shell should change the way your graphical session starts.  Shell is
for your command line session.

Further reasoning is that is is very concievable and apparently quite common
that the user does not have a working command shell (or has a very restricted
one) but is still able to log on graphically.

Also doing things the same for all graphical logins means consistency to both
the system integrators, the users and to system administrators.  If you need
to change some env setup, you only need to modify /etc/profile and your users
can use whatever shell that may read ~/.fmrbrmblah and still get the required
env setup for their session.

Lastly most packages nowdays that need to modify the environment install
something in /etc/profile.d/ or some such (at least on redhat).  Then I as a
user would expect that to work no matter what command shell I use.  Just
because I like tcsh for my command line sessions shouldn't make some
graphical package that requires some environment setup to break, or require
me to mess with the shell startup files.

Not to mention that people have no clue how shell's startup files work.

So since "command line" != "graphical login", starting the graphical login
according to rules of your command shell is just complete and utter crack.
Having env set up differently for different shells is screwed up crackiness
anyway.  The only reason to have different shell startup files is to use
specific features of one shell over another, but note that the graphical
login cannot and does not use any features of the command shell, so it would
be utterly artificial to make it read different startup files.

So it's not broken with respect to the csh or bash man pages.  You are not
starting a command shell when you log in graphically, thus you don't get the
behaviour.  I mean where do I type in commands when I log in through gdm?
Nowhere, thus obviously I have not launched csh nor bash nor tcsh nor zsh and
I should not expect things to behave in that way.  If I do expect things to
behave that way it's because I've been indoctrinated by prior behaviour which
was inconsistent and broken and pretty much different on different systems.
For example redhat used bash startup files no matter what your shell was for
a long time now.  You start a command shell when you launch a terminal with a
command shell, then your command shell gets run and your startup files get
executed.

I could go on and on since this has become one of my favourite rants about
the startup of X sessions.

George

-- 
George <jirka 5z com>
   I wanna be sedated.  -- Ramones



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]