Re: [Xquartz-dev] env variables and launchd problem
On Mar 21, 2011, at 17:29, Jordan K. Hubbard wrote:
On Mar 21, 2011, at 5:11 PM, Jeremy Huddleston wrote:
I think the problem is that you are setting the values in .bashrc. X11 inherits your *login* shell environment. This is set by .profile (not .bashrc).
Actually, for bash, the login shell reads .bash_profile (and only that file - you need to explicitly load your .bashrc from within that file if you want it).
Well it reads .profile if .bash_profile and .bash_login are absent ... unless in posix mode. For anyone caring, there is a book written on this topic in the INVOCATION section of bash(1), but here's a snippet:
When bash is invoked as an interactive login shell, or as a non-inter- active shell with the --login option, it first reads and executes com- mands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable. The --noprofile option may be used when the shell is started to inhibit this behavior.
Thanks. That's an easy enough fix. But I'm a bit confused, because my login shell *is* /bin/bash, and I have always used /etc/bashrc to control my shell environment. The Apple terminal and X11 terminals all open with the environment from /etc/bashrc. So I am surprised to see X11 is different. Should it be different?
participants (1)
-
Dave Ray