[Xquartz-dev] env variables and launchd problem
Dave Ray
apple at jonive.com
Mon Mar 21 19:51:10 PDT 2011
>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?
More information about the Xquartz-dev
mailing list