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

Re: Problems with $PATH and KDE



martin f krafft wrote:
> c.f.: http://bugs.debian.org/250765

  Summary:
    On all KDE systems I administer, ~/.bash_profile is never read.
    Thus, any entries in there -- quite a few in the case of
    a programmer -- are never read. I think this is because KDM never
    spawns a login shell, and Konsole doesn't either. Could this please
    be fixed? There are a lot of reasons why kdmsession or the like
    should be started as a child of a proper login shell.

The implementation for different users with bash, csh, zsh, ksh, some
other weird shell, is probably not impossible but I can't think of a
way to handle it cleanly.

This is an upstream FAQ:

  http://www.kde.org/documentation/faq/configure.html#id2913380

  Summary:
    9.7. KDE (kdm) does not read my .bash_profile!

    The login managersxdm and kdm do not run a login shell, so .profile,
    .bash_profile, etc. are not sourced. When the user logs in, xdm runs
    Xstartup as root and then Xsession as user. So the normal practice
    is to add statements in Xsession to source the user profile. Please
    edit your Xsession and .xsession files.

They purposefully avoid reading the user's environment.  When you
select KDE you select *only* KDE and nothing else but KDE.  I imagine
it is just too difficult to guess the user's login shell and get the
syntax right for all of the possibilities so they avoid it entirely.
But I am not a KDE developer and do not know the actual reasons.

Use a .xsession file with the #! line using your login shell and
passing in whatever options your shell uses to make it a login shell.
That will read your login environment.  Here is one example for a bash
shell as the login shell.

  #!/bin/bash --login
  exec x-session-manager  # or startkde or fvwm or whatever

Make sure it is executable or it will have no effect.

  chmod a+x $HOME/.xsession

Then when you log in with kdm/gdm/xdm make sure you select "default"
and not specifically KDE since selecting KDE avoids reading your
environment files.

Bob

Attachment: pgp9J0wOATU9o.pgp
Description: PGP signature


Reply to: