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