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
On Tue, Jan 29, 2013 at 10:54 AM, Kip Guja
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