Man Linux: Main Page and Category List

NAME

       sysprofile - modular centralized shell configuration

DESCRIPTION

       sysprofile  is  a  generic  approach  to  configure shell settings in a
       modular and centralized way mostly aimed  at  avoiding  work  for  lazy
       sysadmins.  It has only been tested to work with the bash shell.

       It  basically  consists of the small /etc/sysprofile shell script which
       invokes other small shell scripts  having  a  .bash  suffix  which  are
       contained    in   the   /etc/sysprofile.d/   directory.    The   system
       administrator can drop in  any  script  he  wants  without  any  naming
       convention  other  than that the scripts need to have a .bash suffix to
       enable automagic sourcing by /etc/sysprofile.

       This mechanism is set up  by  inserting  a  small  shell  routine  into
       /etc/profile  for  login  shells and optionally into /etc/bashrc and/or
       /etc/bash.bashrc  for  non-login   shells   from   where   the   actual
       /etc/sysprofile script is invoked:

           if [ -f /etc/sysprofile ]; then
                   . /etc/sysprofile
           fi

       For  using  "sysprofile"  under X11, one can source it in a similar way
       from /etc/X11/Xsession or your X display  manager’s  Xsession  file  to
       provide  the  same  shell environment as under the console in X11.  See
       the example files in /usr/share/doc/sysprofile/ for illustration.

       For usage of terminal emulators with a non-login bash shell under  X11,
       take  care  to enable sysprofile via /etc/bash.bashrc.  If not set this
       way, your terminal emulators won’t come up with the environment defined
       by the scripts in /etc/sysprofile.d/.

       Users  not  wanting /etc/sysprofile to be sourced for their environment
       can easily disable it’s automatic mechanism.  It  can  be  disabled  by
       simply  creating an empty file called $HOME/.nosysprofile in the user’s
       home directory using e.g. the touch(1) command.

       Any single configuration file in /etc/sysprofile.d/ can  be  overridden
       by  any user by creating a private $HOME/.sysprofile.d/ directory which
       may contain a user’s own  version  of  any  configuration  file  to  be
       sourced  instead  of the system default.  It’s names have just to match
       exactly the system’s default  /etc/sysprofile.d/  configuration  files.
       Empty  versions  of  these  files contained in the $HOME/.sysprofile.d/
       directory automatically disable sourcing of the system wide version.

       Naturally,  users  can  add  and  include  their  own  private   script
       inventions  to  be  automagically  executed by /etc/sysprofile at login
       time.

OPTIONS

       There are no options other than those dictated  by  shell  conventions.
       Anything is defined within the configuration scripts themselves.

SEE ALSO

       The    README   files   and   configuration   examples   contained   in
       /etc/sysprofile.d/   and   the   manual   pages    bash(1),    xdm(1x),
       xdm.options(5), and wdm(1x).  Recommended further reading is everything
       related with shell programming.

       If you need a similar mechanism for executing code at logout time check
       out the related package syslogout(8) which is a very close companion to
       sysprofile.

BUGS

       sysprofile in its current form is mainly restricted to bash(1)  syntax.
       In fact it is actually  a rather embarrassing quick and dirty hack than
       anything else - but it works.  It  serves the practical need to  enable
       a  centralized  bash  configuration   until  something  better  becomes
       available.  Your constructive criticism in making  this  into something
       better"  is  very  welcome.   Before  i  forget  to mention it: we take
       patches... ;-)

AUTHOR

       sysprofile  was   developed   by   Paul   Seelig   <pseelig@debian.org>
       specifically  for the Debian GNU/Linux system.  Feel free to port it to
       and use it anywhere else under the conditions of either the GNU  public
       license or the BSD license or both.  Better yet, please help to make it
       into something more worthwhile than it currently is.