gnome terminal
Ed Greshko
Ed.Greshko at greshko.com
Wed May 23 23:45:01 UTC 2012
On 05/24/2012 01:46 AM, Patrick Dupre wrote:
>
>
> USRLOCAL=/usr/local
> USRLOCALINTEL=$USRLOCAL/intel/composer_xe_2011_sp1.9.293
> ROOTSYS=$USRLOCAL/root_v528
> MN2SYS=$USRLOCAL/Minuit2.5.28
>
> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$USRLOCAL/lib
> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ROOTSYS/lib/root
> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/mylib
> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MN2SYS/lib
> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$USRLOCALINTEL/lib/intel64
>
> export LD_LIBRARY_PATH
> export ROOTSYS
> export MN2SYS
>
>
> After I run gnome-terminal without "run command as a login shell", I get:
> echo $LD_LIBRARY_PATH
> :/usr/local/lib:/home/pdupre/mylib:/usr/local/intel/composer_xe_2011_sp1.9.293/lib/intel64:/usr/local/root_v528/lib/root
>
>
> (so /usr/local/Minuit2.5.28 is missing).
>
>
> If I run gnome-terminal with "run command as a login shell", I get:
>
> echo $LD_LIBRARY_PATH
> :/usr/local/lib:/home/pdupre/mylib:/usr/local/intel/composer_xe_2011_sp1.9.293/lib/intel64:/usr/local/root_v528/lib/root:/usr/local/lib:/usr/local/root_v528/lib/root:/home/pdupre/mylib:/usr/local/Minuit2.5.28/lib:/usr/local/intel/composer_xe_2011_sp1.9.293/lib/intel64
>
>
> Now /usr/local/Minuit2.5.28 is set in the variable, but the variable keeps a record
> of the previous value every
> time that I run gnome-terminal!
>
> It this normal?
>
"Almost" normal....
/usr/local/Minuit2.5.28 should appear in the first instance. Did you make changes to
your .bash_profile and then not logout/login from your GNOME session?
Then, you asked this question earlier and I answered it....
I suppose I should cut/paste the relevant chapter and verse from the man page....
man bash
INVOCATION
A login shell is one whose first character of argument zero is a -, or
one started with the --login option.
An interactive shell is one started without non-option arguments and
without the -c option whose standard input and error are both connected
to terminals (as determined by isatty(3)), or one started with the -i
option. PS1 is set and $- includes i if bash is interactive, allowing a
shell script or a startup file to test this state.
The following paragraphs describe how bash executes its startup files.
If any of the files exist but cannot be read, bash reports an error.
Tildes are expanded in file names as described below under Tilde Expan‐
sion in the EXPANSION section.
When bash is invoked as an interactive login shell, or as a non-interac‐
tive shell with the --login option, it first reads and executes commands
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.
When a login shell exits, bash reads and executes commands from the
files ~/.bash_logout and /etc/bash.bash_logout, if the files exists.
When an interactive shell that is not a login shell is started, bash
reads and executes commands from ~/.bashrc, if that file exists. This
may be inhibited by using the --norc option. The --rcfile file option
will force bash to read and execute commands from file instead of
~/.bashrc.
In other words.....
When started as a login shell .bash_profile is sourced. When started as non-login
shell it is not sourced.
If you want to avoid the duplication simply change....
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$USRLOCAL/lib
to
LD_LIBRARY_PATH=$USRLOCAL/lib
FWIW, my system does *not* exhibit the /usr/local/Minuit2.5.28 not not appear symptom.
--
Never be afraid to laugh at yourself, after all, you could be missing out on the joke
of the century. -- Dame Edna Everage
More information about the users
mailing list