Yen-Ju Chen wrote:

> As a regular user, I cannot even understand why there is a
.bash_profile, .bash_rc and .profile.

As a GNUstep developer, you can easily understand it after you
read INVOCATION section in the manual page for bash :)
My only advise is to stick with just one shell (bash is ok),
because every shell slightly differs, and here the real mess comes.

With bash:

~/.profile is a junk, delete it
~/.bash_rc is an ERROR, it should be ~/.bashrc,
  the former will never be used

The rationale behind having two init files instead of one is,
as far as I get,
that some stuff (environment variables, umask) is inherited
by subshell and you do not want to make that stuff executed in
the subshell again. So environment goes to ~/.bash_profile,
non-inheritable stuff (e.g. aliases) - to ~/.bashrc


> And for Xwindow, there is .xinitrc and .xsession, and some others
> system installed script (/etc/X11/Xsession.d/ in Ubuntu).

~/.xinitrc and/or ~/.xsession are normally source'd by
system-wide session initialization scripts - on my gentoo
distro it is /etc/X11/xdm/Xsession, and I believe on Ubuntu
it's quite the same. My Xsession uses only ~/.xsession,
if it exists.

I also believe that Xsession script goes
into /etc/X11/Xsession.d/ and sources every file in there.
This is done for better modularity, the same techinque
applies to bash initiaization: /etc/profile looks
into /etc/profile.d/

Tima


_______________________________________________
Discuss-gnustep mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnustep

Reply via email to