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.