This page describes the different files used by the %hx. 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
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:
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:
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 %h (both X11 and shells) to properly bind the
"erase" key to backspace (^?
).
$HOME/.Delete
It is used by the %h (both X11 and shells) to properly bind the
"erase" key to delete (^H
).
$HOME/.hepix
This directory contains (almost) all the files customising the %h. 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 %hs 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 %hx).
$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