[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