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

Re: Login Shell/Profile: Stop the Madness



Michael B Allen wrote:
> 
> ...
> 
> Look, conceptually what needs to be done is simple. The purpose of the
> login option of a shell is to say "Hey, I'm logging in, initialize my
> environment." Subsequent shells do not use the login option which is
> to mean "Hey, I've already initialized my environment so don't bother
> to do it again. I just want another shell, inherit the environment from
> the parent."
> 
> So all we have to do is detect when a user is logging in and exec their
> default shell with the login option. Debian does that when you ssh in
> or login on the console but not when you login with X.
> 
> Where would we do that? Well let's review the process. Let's say your
> using gdm (but it's very similar for each login manager). Gdm calls
> scripts to be executed by root like /etc/X11/gdm/Init/Default for calling
> xmodmap, setting kbdrate, or /etc/X11/gdm/PostSession/Default mounting
> a home drive, etc. Then it switches to the user with setuid and calls
> scripts to be executed as the user to  like /etc/X11/gdm/Xsession which
> calls /etc/X11/profile.d/ (or whatever it's called) which eventually
> exec's the session manager like say /usr/bin/wmaker possibly via
> ~/.xsession. Now if we exec the session manager at the very end we don't
> have a lot of choices. We have to launch our login shell there.
> 
> Now I'm on a RH 7.3 system right now and I've never had this profile
> issue on RH systems so if I look at their scripts I see:
> 
> #!/bin/bash
> 
> ... lots of stuff ...
> 
> # otherwise, take default action
> if [ -x "$HOME/.xsession" ]; then
>     exec -l $SHELL -c "$HOME/.xsession"
> 
> There are a lot of other lines that look like this but this one
> illustrates quite clearly how RH handles this. I'm not terribly familiar
> with exec options of bash but I'm willing to bet it has something to do
> with the login option or has the equivalent effect.
> 
> You guys really should fix this problem. It's quite a wart.
> 
> Mike
> 
> --
> Greedo shoots first? Not in my Star Wars.
> 
> --
> To UNSUBSCRIBE, email to debian-user-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

-- 
Daniel Barclay
dsb@smart.net



Reply to: