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

Re: $PATH and /etc/profile



Sam Halliday said:
>> Why is this different from what is happening above? If you run startx
>> you're
>> starting X from a login shell.
>
> it IS differnet. if you start from the console, you should really do
> `startx &`
> to detach from the console and allow you to continue working on the
> console and
> X; hence 2 logins. try `startx`, lock your screen, do a Ctrl-Alt-F1 and
> realise
> that C-c will kill the X session and give whoever is at the machine your
> console
> login. using startx is an arcane way of starting up X. use a login
> manager.

You could do Ctrl-z and then bg to background the X session. But you're
reasoning is flawed anyway. It's not two logins. You never enter
credentials running X from the console. With *dm you do so it should be
like a login.

The whole point is that starting X from the console is no different from
the exec -l $SHELL -c "$STARTUP" method I describe. It just eliminates the
startx part.

>> No. 1) this is an arcane hack that the average user should not have to
>> put
>> up with
>
> why?

Because it's totally unnecessary for newbies to suffer through discovering
how to propery setup their shell environment. Ever heard of the Principal
of Least Surprise?

> .xsession is there for users to set up their system. perhaps i don't
> want
> the login files to be sourced during my X login? what do i do then?

Then create a ~/.xsession exec $STARTUP to dump the env. But I think most
people do wish to normalize their shell environment so spare me the
contrived examples.

> come
> on...
> its one line!

Pointer?

>> 2) ~./xsession is not executed unless you choose "Default System
>> Session" -- if you select "KDE" or "WindowMaker" etc the xsession.d
>> scripts
>> bail out before ~/.xsession is reached.
>
> exactly. and why should it be reached? it is up to debian to set up the
> PATH for
> each of these window managers, not the user.

I'm confused now. You suggest using ~/.xsession to source the user's
profile but if you select "KDE" from the *dm screen causing ~/.xsession to
be ignored how does one setup their shell environment?

> newbies generally don't use .xsession, they use the drop down window to
> choose a
> desktop.

If you do not use ~/.xsession (and select "Default System Session") or use
the technique I've described /etc/profile and the shells home directory
profile will not be sourced. Is this correct in your mind?

> besides, how is
>
>   change:
>    /etc/X11/Xsession.d/99xfree86-common_start
>   to read:
>    exec -l $SHELL -c "$STARTUP"
>
> in any way less cryptic than
>
>   add
>     . /etc/profile
>     . $HOME/.profile
>   (if you use a POSIX shell) to the top of your ~/.xsession file

Because changing the file in the xfree86-common package works for
everybody without requiring cryptic commands at all. You're method
*requires* manual intervention and is specific to a certain shell which
means if you change shells you may also need to change your ~/.xsession
file. Also, again, ~/.xsession does not work with *dm managers.

Mike



Reply to: