Ben, an excellent explanation. I work with Mac.
Recently I experienced a problem with a new version of HKL2000. X11 window showing the diffraction frame stayed on for a very short time
before being closed. Somehow problem was sorted out by changing wireless environment to constant internet connection in my office.
But I suspect that, as I usually open automatically 8 tabs in a Terminal window, not all of them where doing the same procedure not completing
some X11 activation, stamp or sort of these things. I work with tcsh and not with bash from historical reasons. I hope that all you have  written about bash
environment is true with some modifications also for tcsh. Anyhow it was very inspiring to read your message.
As there are less and less IT support for unix around we have to go back to school ourself and to learn or refresh essentials :-)
My best regards
FF
 
Dr Felix Frolow   
Professor of Structural Biology and Biotechnology, Department of Molecular Microbiology and Biotechnology
Tel Aviv University 69978, Israel

Acta Crystallographica F, co-editor

e-mail: [email protected]
Tel:  ++972-3640-8723
Fax: ++972-3640-9407
Cellular: 0547 459 608

On Jan 30, 2013, at 03:08 , Ben Eisenbraun <[email protected]> wrote:

On Tue, Jan 29, 2013 at 10:54 AM, Kip Guja <[email protected]> wrote:
You need to use .profile not .bashrc on a Mac

Actually that's not true.

In the case of bash, a login shell will read /etc/profile,
~/.bash_profile, ~/.bash_login, and ~/.profile in that order. A
subshell, i.e. an interactive shell that is not a login shell, will
read ~/.bashrc.

In the traditional UNIX windowing environment of X11, the X11 session
will invoke a login shell, reading one or all of the various profile
files, and all subsequent shells started via terminal emulators and
the like will usually be subshells, which will read your ~/.bashrc.

If you look at /Applications/Utilities/XQuartz.app/Contents/MacOS/X11,
you'll see that the Xorg ported to OS X does exactly this. A snippet:

case $(basename "${SHELL}") in
   bash)          exec -l "${SHELL}" --login -c 'exec "${@}"' - "${@}" ;;

Where users get tripped up on OS X is that many of them will use
Terminal.app as their terminal emulator, and since it's not an X11
application, it uses a login shell as the default shell in its
interface.

The solution is to just follow the Bash FAQ suggestion to have your
~/.bash_profile contain:

test -f ~/.bashrc && . ~/.bashrc

Which will ensure you always pick up your base shell environment
regardless of how the shell is started.

Hopefully some of that explanation helps you, Simon, but if you're
still stuck, you can run 'bash -x' to put the shell into debug mode as
it interprets your shell start up files. It should give you some clues
as to what's going wrong. Annoyingly that option is not documented in
the manpage on this machine. Here is some additional explanation:

http://wiki.bash-hackers.org/scripting/debuggingtips#use_shell_debug_output

-ben
_______________________________________________
phenixbb mailing list
[email protected]
http://phenix-online.org/mailman/listinfo/phenixbb