l i n u x - u s e r s - g r o u p - o f - d a v i s
Next Meeting:
July 7: Social gathering
Next Installfest:
Latest News:
Jun. 14: June LUGOD meeting cancelled
Page last updated:
2004 Apr 30 11:45

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
Re: [vox-tech] bash environment variables (and KDE)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox-tech] bash environment variables (and KDE)

On Fri, Apr 30, 2004 at 10:41:47AM -0700, Mark K. Kim wrote:
> ~/.bashrc OR ~/.bash_profile.  One gets run when you open a terminal, the
> other when there is no terminal.  I gave up trying to figure it out 'cuz
> it's so twisted and inconsistent from distribution to distribution, no
> matter what the man page says or how it's supposed to be.
> The latest technique seems to be to get ~/.bash_profile to run ~/.bashrc,
> and check the PS1 (the prompt) variable to see if we're inside a terminal
> or not.  If it is, then display some fortune messages and set some
> interesting variables for controlling the terminal behavior and what not.
> Otherwise we're probably running inside a script so don't do anything we'd
> want done only inside a terminal.
> -Mark
> On Fri, 30 Apr 2004, Jonathan Stickel wrote:
> > There are still a couple things in linux that seem to be unnecessarily
> > convoluted and really bug me.  One is sound, which I've finally managed
> > to work around using alsa and dmix.
> >
> > The other is handling user-specified shell environment variables.  I use
> > bash, and by trial and error I've found I can put what I want in
> > .bashrc.  IIRC, I remember reading that this really isn't the place for
> > custom variables, but this is what has worked for me.  Recently, I've
> > defined $TEXINPUTS, a path variable for tex/latex.  When I run latex
> > from shell, it uses the path I've defined by $TEXINPUTS correctly.
> > However, if I start Emacs from KDE's kmenu, $TEXINPUTS is NOT read, and
> > thus running latex from within Emacs doesn't work like I expect.  It
> > turns out that KDE, when started through xdm/kdm, does not read .bashrc
> > at all
> > (http://lists.debian.org/debian-kde/2002/debian-kde-200209/msg00083.html).
> >   However, .bashrc does get read when starting a shell from within KDE.
> >
> > So my question is:  what really is the correct place to put
> > user-specific bash variables?  And, how do I make KDE read them when
> > logging in from kdm?
> >

Yeah, .bash_profile is read  by a 'login' shell, and .bashrc is read by
a 'non-login' shell. So, 'bash -l' will read .bash_profile, and 'bash
shell_script.sh' will read .bashrc. I finally realized that anything
that I'd want in .bashrc, I'd want in .bash_profile as well, so I call
.bashrc from .bash_profile, like Mark said. 

If KDE doesn't read those environment variables, that seems broken.

...and after reading the article you linked, I see other people agree.
My opinion is this: if KDE is going to take over user input to such a
degree that a SHELL (i.e. user interface) never gets to see any action,
there should be a KDE-method for creating an environment. Any KDE users
know of such a thing?

The other option is to let a shell back in the loop. Disable xdm/kdm
(usually just by changing default runlevel in /etc/inittab), log in on
the console, and run startkde. I prefer the l33t look of a blinking
cursor at a text prompt anyway. :)

vox-tech mailing list

LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
O'Reilly and Associates
For numerous book donations.