Installation Details for XFree86[tm] 4.0 : Installing XFree86 4.0 manually
Previous: Installing XFree86 4.0 using the Xinstall.sh script
Next: Installation Details for XFree86[tm] 4.0

4. Installing XFree86 4.0 manually

This section describes how to manually install the XFree86 4.0 binary distributions. You should only use this method if you know what you're doing. The information here covers some common cases, but not every possible case.

Put all of the downloaded files into a single directory (choose some temporary location with enough space). Become the super user (root). All of the following commands should be run as root, and they should be run from the directory that has all of the downloaded files. The "extract" utility should be used to unpack the tarballs. This is a customised version of GNU tar that has the gzip code built-in, and which has a different usage when run under the name "extract". One important thing that extract does that most versions of tar do not do by default is that it unlinks existing files before writing new ones. This is important when installing over an existing version of X. If you choose to use some other utility to extract the tarballs, you're on your own.

4.1. A new installation

The simplest case is when there is no existing X installation. The installation procedure for this case is as follows:

chmod +x extract
mkdir /usr/X11R6
mkdir /etc/X11
./extract -C /usr/X11R6 X[a-df-uw-z]*.tgz
./extract -C /usr/X11R6 Xvfb.tgz    # If you are installing Xvfb
./extract -C /etc/X11 Xetc.tgz
./extract -C /var Xvar.tgz
ln -s /etc/X11/app-defaults /usr/X11R6/lib/X11
ln -s /etc/X11/fs /usr/X11R6/lib/X11
ln -s /etc/X11/lbxproxy /usr/X11R6/lib/X11
ln -s /etc/X11/proxymngr /usr/X11R6/lib/X11
ln -s /etc/X11/rstart /usr/X11R6/lib/X11
ln -s /etc/X11/twm /usr/X11R6/lib/X11
ln -s /etc/X11/xdm /usr/X11R6/lib/X11
ln -s /etc/X11/xinit /usr/X11R6/lib/X11
ln -s /etc/X11/xsm /usr/X11R6/lib/X11
ln -s /etc/X11/xserver /usr/X11R6/lib/X11
/sbin/ldconfig /usr/X11R6/lib       # For Linux
/sbin/ldconfig -m /usr/X11R6/lib    # For FreeBSD, NetBSD, OpenBSD
/usr/X11R6/bin/mkfontdir /usr/X11R6/lib/X11/fonts/misc

4.2. Installing over an old installation

If you have an existing installation of X, you should make a backup copy of it before installing the new version over the top of it.

Before doing anything else, make sure the extract command is executable, and also link it to the name "gnu-tar" so that it can be used as a regular tar command:

chmod +x extract
rm -f gnu-tar
ln extract gnu-tar

The first part of the procedure is to move the old run-time config files from /usr/X11R6/lib/X11 to /etc/X11. Create /etc/X11 if it doesn't already exist. For each of the following sub-directories (app-defaults, fs, lbxproxy, proxymngr, rstart, twm, xdm, xinit, xsm, xserver) that you want to move, check that there is a sub-directory of this name in /usr/X11R6/lib/X11. Create a sub-directory of the same name under /etc/X11, then copy the files over by running:

./gnu-tar -C /usr/X11R6/lib/X11/subdir -c -f - . | \
  ./gnu-tar -C /etc/X11/subdir -v -x -p -U -f -

For each subdirectory that is moved, remove the one under /usr/X11R6/lib/X11 and create a symbolic link to the new location:

rm -fr /usr/X11R6/lib/X11/subdir
ln -s /etc/X11/subdir /usr/X11R6/lib/X11

For those subdirectories that didn't already exist under /usr/X11R6/lib/X11, create one under /etc/X11 and create the symbolic link to it:

mkdir /etc/X11/subdir
ln -s /etc/X11/subdir /usr/X11R6/lib/X11

Once that is done, extract the config files from the Xetc.tgz tarball into a temporary directory:

mkdir tmpdir
./extract -C tmpdir Xetc.tgz

and then copy each sub-directory over to the installed location:

./gnu-tar -C tmpdir/subdir -c -f - . | \
  ./gnu-tar -C /usr/X11R6/lib/X11/subdir -v -x -p -U -f -

If you have customised any config files in your old installation, you may want to omit those sub-directories, or copy selected files over by hand.

Once that's done, the main part of the installation can be done:

./extract -C /usr/X11R6 X[a-df-uw-z]*.tgz
./extract -C /usr/X11R6 Xvfb.tgz    # If you are installing Xvfb
./extract -C /var Xvar.tgz
/sbin/ldconfig /usr/X11R6/lib       # For Linux
/sbin/ldconfig -m /usr/X11R6/lib    # For FreeBSD, NetBSD, OpenBSD
/usr/X11R6/bin/mkfontdir /usr/X11R6/lib/X11/fonts/misc


Installation Details for XFree86[tm] 4.0 : Installing XFree86 4.0 manually
Previous: Installing XFree86 4.0 using the Xinstall.sh script
Next: Installation Details for XFree86[tm] 4.0