How does MacPorts install with it's path corrections if you have no .profile or .bash_profile? What you set in your $HOME is what sets your actually running environment. Why would you not use your own environment setup instead of some one size fits all Apple offering?

        Shalom,

        John B. Brown.
        [j...@vcn.com]
        358 High Street,
        Buffalo, Wyoming
        82834

"Freedom is not worth having if it does not include
the freedom to make mistakes"  Mahatma Gandhi
"If any question why we died, tell them,
because our fathers lied."  Rudyard Kipling
"But first we must learn to cast out fear. People who
'view with alarm' never build anything." Eleanor Roosevelt
"I wonder whether the world is being run
by smart people who are putting us on
or by imbeciles who really mean it."  Mark Twain

1-307-684-9068


Dave Ray wrote:
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.

I am still stumped about this.
I understand everything you are describing.

My $SHELL is /bin/bash. The /etc/profile installed by Snow Leopard looks like 
this:

# System-wide .profile for sh(1)

if [ -x /usr/libexec/path_helper ]; then
        eval `/usr/libexec/path_helper -s`
fi

if [ "${BASH-no}" != "no" ]; then
        [ -r /etc/bashrc ] && . /etc/bashrc
fi

BUT

My /etc/bashrc contains:
export 
PATH="/usr/local/bin:/usr/local/sbin:/sbin:/bin:/usr/bin:/usr/sbin:/opt/X11/bin:/usr/local/mysql/bin:/usr/local/git/bin:/usr/libexec:."

If I open an Apple terminal, then:
echo $PATH
/usr/local/bin:/usr/local/sbin:/sbin:/bin:/usr/bin:/usr/sbin:/opt/X11/bin:/usr/local/mysql/bin:/usr/local/git/bin:/usr/libexec:.

If I edit ~/.xinitrc.d/99-wm.sh to run just an xterm, with no window manager, 
then in that xterm:
echo $PATH
/opt/X11/bin:/usr/bin:/bin:/usr/sbin:/sbin

That is the problem.

I don't have user-level files  ~/.profile,  ~/.bash_profile, or ~/.bash_login 
since I'm the only user of my laptop. But I shouldn't need to, if the shell is 
reading /etc/bashrc. When I copy /etc/bashrc to ~/.profile, etc, nothing 
changes. It is a launchd issue I think.

Dave

_______________________________________________
Xquartz-dev mailing list
Xquartz-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/xquartz-dev



_______________________________________________
Xquartz-dev mailing list
Xquartz-dev@lists.macosforge.org
http://lists.macosforge.org/mailman/listinfo.cgi/xquartz-dev

Reply via email to