This page describes the different files used by the HEPiX X11 scripts. You can consult the anatomy page to have a complete description of the HEPiX X session.
Some files can be used to customise the
xdm
wrappers
(at system, cluster or site level) or the
"real" HEPiX X session
(at user, group, system, cluster or site level).
Some other files are used directly or not
by the HEPiX X session.
Index: $HOME/.BackSpace - $HOME/.Delete - $HOME/.hepix - $HOME/.hepix/generated_xmodmaprc - $HOME/.hepix/generated_xresources - $HOME/.hepix/preferred-group - $HOME/.hepix/wm/generated_wmrc - $HOME/.hepix/xsession.log - $HOME/.Xdefaults - $HOME/.Xresources - $HOME/.xsession - $HOME/.Xsession - xclients - xclients.m - xkbd.$HX_KEYBOARD - xkeyboard - xpolicy - xprofile - Xreset - xresources - Xresources - Xsession - Xstartup
Because most of the wrappers are run/used as root, it is essential
that all the customisation files are really local to the system and
controlled only by root. For the same reason, there is no user or
group level customisation files for the xdm
wrappers. Here are the default locations for these files:
/etc/hepix/xdm
/etc/hepix/cluster/xdm
/usr/sue/lib/xdm/hepix/site
/usr/sue/lib/xdm/hepix
The customisation can be done either for the console only
(i.e. display :0
) or for all the other displays. This
depends on the xdm
configuration defined in the file
xdm-config
(independently from the HEPiX X11
scripts). You may need to add an _0
at the end of a file
name so that it applies only to the console, as described in the
xdm
man page.
Xresources
This should contain the X resources used by xdm
(and
only xdm
!). All the resources are merged
in the following order:
xdm
before the installation
of the HEPiX X11 scripts
Xstartup
This is the program run as root before the user session is started.
If the corresponding file is found at system, cluster or site level,
it is executed (and only this file!); otherwise the hep file is executed.
Xsession
This starts the "real" user X session.
Same behaviour as Xstartup
.
Xreset
This is the program run as root after the user session has terminated.
Same behaviour as Xstartup
.
Here are the default locations for these files:
$HOME/.hepix
$HX_GROUP_DIR
/etc/hepix
/etc/hepix/cluster
/usr/local/lib/hepix/X11/site
/usr/local/lib/hepix/X11/hep
Note that the group level default location depends on the variable
$HX_GROUP_DIR
that should be defined in the site level xprofile
.
Warning: to avoid name clashes, the files at the
hep and group levels also have a prefix, respectively
HEP_
and group_
. For instance, the group
level X resources file is $HX_GROUP_DIR/group_Xresources
.
xclients
This file contains the X clients to be started in the HEPiX
desktop. It can be either a "text" file that will be sourced
(ksh
syntax) or an executable that will executed in the
background. The first file found at user, group, system, cluster, site
or help level is used; the other files are ignored.
Warning: all the X clients started in this file should be launched in the background to avoid blocking the X session.
Note: this file is used only by the HEPiX startup so it will be
used only when the selected startup ($HX_STARTUP
) is
HEPiX.
See also the corresponding template.
xclients.m
This file contains the "mandatory" X clients for the HEPiX
desktop. These clients will be started regardless of the user's
settings. All the files from hep level to group level will be used in
order. The file can be executable or not, like for
xclients
.
Note: this file is used only by the HEPiX desktop so it will be
used only when the selected desktop ($HX_DESKTOP
) is
HEPiX.
Warning: this file is used before getting the
user environment, see $HX_SOURCEPROFILE
.
xkbd.$HX_KEYBOARD
This file contains the X key mappings that will be given to the
program xmodmap
for a particular keyboard identified by
$HX_KEYBOARD
. All the files from hep to user level will be merged into
$HOME/.hepix/generated_xmodmaprc
and then used by xmodmap
.
Warning: the key mappings may be re-applied so they must be carefully written so that one can use them regardless of the existing mappings...
To be more flexible, if the file is executable, it is executed and
the output is used instead of its contents. This allows to have
mappings depending on the environment, for instance the $RUBOUT
variable...
Note: this file is used only by the HEPiX startup so it will be
used only when the selected startup ($HX_STARTUP
) is HEPiX.
xkeyboard
This file contains mappings between X server host names and
keyboard names. If it exists, it is used to overwrite the value of
$HX_KEYBOARD
if a matching entry is found. All files from user level
to hep level are used, the first matching entry is used.
See also the corresponding template.
xpolicy
This file can be used to implement a policy, for instance to
forbid a desktop or to restrict the window managers available. The
syntax of the file is described in the policy
document. This file can be present at any level.
xprofile
This file is the main configuration file. It is sourced by the
HEPiX X session (it must therefore have the ksh
syntax) and can set the major switches
described elsewhere. All the files from hep level to user level are
sourced in order.
See also the corresponding template.
xresources
This should contain the X resources used by all the X clients. All the resources are merged in the following order:
$HOME/.Xdefaults
(obsolete)
$HOME/.Xresources
XTerm*ttyModes
resource according to
$HOME/.Delete
or $HOME/.BackSpace
The result is put in the file $HOME/.hepix/generated_xresources
.
Warning: for historical reasons, the name of the
file is xresources
(with a lowercase `x
') at user level but
Xresources
(with a uppercase `X
') for all the other levels...
Note that for compatibility reasons, the files $HOME/.Xresources
and $HOME/.Xdefaults
are also used but the preferred way to specify an X resource
is with the xresources
file.
To be more flexible, if the file is executable, it is executed and
the output is used instead of its contents. This allows to have X resources
depending on the environment, for instance the number of colors of the screen
(see $HX_COLOR
).
Here are some other files that have not been described above.
$HOME/.BackSpace
It is used by the HEPiX scripts (both X11 and shells) to properly bind the
"erase" key to backspace (^?
).
$HOME/.Delete
It is used by the HEPiX scripts (both X11 and shells) to properly bind the
"erase" key to delete (^H
).
$HOME/.hepix
This directory contains (almost) all the files customising the HEPiX scripts.
If you remove it, you'll get the default behaviour.
$HOME/.hepix/generated_xmodmaprc
This contains all the X key mappings found at different levels
(from the xkbd.$HX_KEYBOARD
files).
It is used mainly for debugging purposes or to easily reset
the X key mappings.
The file exists only if some X key mappings have been specified at
some level.
$HOME/.hepix/generated_xresources
This contains all the X resources found at different levels (as
well as some cpp
directives to define the
HX_*
informational variables).
It is used mainly for debugging purposes or to easily reset
the X resources.
$HOME/.hepix/preferred-group
It is used by the HEPiX shells scripts to find out your preferred group name.
It is documented elsewhere.
$HOME/.hepix/wm/generated_wmrc
This contains the generated configuration file for your window
manager. Its real name contains the name of the window manager, for
instace generated_fvwm2rc
.
It is optionally created by the program prepare-wmrc
.
$HOME/.hepix/xsession.log
This contains the log of the X session, including the output and error messages of all the commands started by the X session. It should be the first place to look at in case of problems.
If you start a "debug session" (by pressing F2
instead of Return
after typing your password in the
xdm
login panel), you will get more information in the
log file.
See also sample log files of a
normal session and a
debug session.
$HOME/.Xdefaults
This usually contains X resources but it is obsolete. One should
use $HOME/.Xresources
(MIT standard) or xresources
(specific to the
HEPiX X11 scripts).
$HOME/.Xresources
This usually contains the X resources. It is used by the HEPiX X
session although the normal file to use is xresources
in
$HOME/.hepix
.
$HOME/.Xsession
This program is obsolete (but honoured), it should be replaced by
$HOME/.xsession
.
$HOME/.xsession
This program is used by xdm
as the user's X session. It should
start all the needed X clients (including a window manager). When it
terminates, the user's X session terminates.
The recommended way is to use xprofile
and xclients
to customise
your X session and not to use a .xsession
, it will be
much easier to modify and debug. However, you have more control on
your X environment with a .xsession
program...
Warning: if this file exists and is executable
then it is always used. See also $HX_STARTUP
.
Lionel Cons, 6-Oct-1997