On Sat, 2009-10-31 at 21:34 -0500, Mikkel wrote:
Jonathan Ryshpan wrote:
It looks like environment variables set in .bash_profile are visible to applications started in gnome but not via a shell. For example evolution knows when I modify LC_COLLATE.
It depends on the type of shell. Only a login shell reads .bash_profile. If you are starting a (x)terminal, and launching the program from there, the default is not to run your as a login shell.
Thanks to all for your advice on this. However I have a *question* and not a *problem*. I have LC_COLLATE=POSIX in .bash_profile and not in .bashrc, and everything is working just as I would like it to. If I find problems in the future, I may move it into .bashrc, which is invoked from .bash_profile, in exactly the way that Suvayu Ali recommended; this method is in the standard .bash_profile located in /etc/skel.
My *question* is what process is reading .bash_profile and acquiring LC_COLLATE=POSIX. Let me repeat it:
The invocation chain for evolution, namely:
$ ps fax ... 1710 ? Ss 0:00 /usr/sbin/gdm-binary -nodaemon 14284 ? S 0:00 _ /usr/libexec/gdm-simple-slave --display-id /org/gnome/Disp 14285 tty7 Ss+ 0:43 _ /usr/bin/Xorg :0 -br -verbose -auth /var/run/gdm/auth- 14366 ? S 0:00 _ pam: gdm-password 14413 ? Ssl 0:00 _ gnome-session 14523 ? Sl 0:00 _ metacity 14536 ? S 0:00 _ gnome-panel 14537 ? S 0:00 _ nautilus 14542 ? S 0:00 _ /bin/sh /usr/lib64/firefox-3.5.4/run-mozilla.s 14651 ? Sl 0:41 | _ /usr/lib64/firefox-3.5.4/firefox 14543 ? Sl 0:17 _ evolution ...
doesn't show a shell of any kind anywhere between gdm, which manages the login screen, and evolution, which knows that LC_COLLATE=POSIX. Very likely the good guy is gnome-session. Maybe I should examine the gnome-session code (What's open source for, anyway?), but I have been too lazy.
Thanks to all - jon