Xorg Applications

Introduction to Xorg Applications

The Xorg applications provide the expected applications available in previous X Window implementations.

This package is known to build and work properly using an LFS-7.8 platform.

Package Information

Xorg Applications Dependencies

Required

libpng-1.6.18, MesaLib-10.6.6, xbitmaps-1.1.1, and xcb-util-0.4.0

Optional

Linux-PAM-1.2.1 and both cairo-5c and Nickle (only if you wish to try to run the undocumented xkeyhost script).

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/Xorg7Applications

Downloading Xorg Applications

First, create a list of files to be downloaded. This file will also be used to verify the integrity of the downloads when complete:

cat > app-7.7.md5 << "EOF"
53a48e1fdfec29ab2e89f86d4b7ca902  bdftopcf-1.0.5.tar.bz2
25dab02f8e40d5b71ce29a07dc901b8c  iceauth-1.0.7.tar.bz2
c4a3664e08e5a47c120ff9263ee2f20c  luit-1.1.1.tar.bz2
18c429148c96c2079edda922a2b67632  mkfontdir-1.0.7.tar.bz2
9bdd6ebfa62b1bbd474906ac86a40fd8  mkfontscale-1.1.2.tar.bz2
e238c89dabc566e1835e1ecb61b605b9  sessreg-1.1.0.tar.bz2
2c47a1b8e268df73963c4eb2316b1a89  setxkbmap-1.3.1.tar.bz2
3a93d9f0859de5d8b65a68a125d48f6a  smproxy-1.0.6.tar.bz2
f0b24e4d8beb622a419e8431e1c03cd7  x11perf-1.6.0.tar.bz2
7d6003f32838d5b688e2c8a131083271  xauth-1.0.9.tar.bz2
0066f23f69ca3ef62dcaeb74a87fdc48  xbacklight-1.2.1.tar.bz2
9956d751ea3ae4538c3ebd07f70736a0  xcmsdb-1.0.5.tar.bz2
b58a87e6cd7145c70346adad551dba48  xcursorgen-1.0.6.tar.bz2
8809037bd48599af55dad81c508b6b39  xdpyinfo-1.3.2.tar.bz2
fceddaeb08e32e027d12a71490665866  xdriinfo-1.0.5.tar.bz2
249bdde90f01c0d861af52dc8fec379e  xev-1.2.2.tar.bz2
90b4305157c2b966d5180e2ee61262be  xgamma-1.0.6.tar.bz2
f5d490738b148cb7f2fe760f40f92516  xhost-1.0.7.tar.bz2
305980ac78a6954e306a14d80a54c441  xinput-1.6.1.tar.bz2
0012a8e3092cddf7f87b250f96bb38c5  xkbcomp-1.3.0.tar.bz2
c747faf1f78f5a5962419f8bdd066501  xkbevd-1.1.4.tar.bz2
502b14843f610af977dffc6cbf2102d5  xkbutils-1.0.4.tar.bz2
0ae6bc2a8d3af68e9c76b1a6ca5f7a78  xkill-1.0.4.tar.bz2
5dcb6e6c4b28c8d7aeb45257f5a72a7d  xlsatoms-1.1.2.tar.bz2
9fbf6b174a5138a61738a42e707ad8f5  xlsclients-1.1.3.tar.bz2
2dd5ae46fa18abc9331bc26250a25005  xmessage-1.0.4.tar.bz2
723f02d3a5f98450554556205f0a9497  xmodmap-1.0.9.tar.bz2
6101f04731ffd40803df80eca274ec4b  xpr-1.0.4.tar.bz2
fae3d2fda07684027a643ca783d595cc  xprop-1.2.2.tar.bz2
441fdb98d2abc6051108b7075d948fc7  xrandr-1.4.3.tar.bz2
b54c7e3e53b4f332d41ed435433fbda0  xrdb-1.1.0.tar.bz2
a896382bc53ef3e149eaf9b13bc81d42  xrefresh-1.0.5.tar.bz2
dcd227388b57487d543cab2fd7a602d7  xset-1.2.3.tar.bz2
7211b31ec70631829ebae9460999aa0b  xsetroot-1.1.1.tar.bz2
558360176b718dee3c39bc0648c0d10c  xvinfo-1.1.3.tar.bz2
6b5d48464c5f366e91efd08b62b12d94  xwd-1.0.6.tar.bz2
b777bafb674555e48fd8437618270931  xwininfo-1.1.3.tar.bz2
3025b152b4f13fdffd0c46d0be587be6  xwud-1.0.4.tar.bz2
EOF

To download the needed files using wget, use the following commands:

mkdir app &&
cd app &&
grep -v '^#' ../app-7.7.md5 | awk '{print $2}' | wget -i- -c \
    -B http://ftp.x.org/pub/individual/app/ &&
md5sum -c ../app-7.7.md5

Installation of Xorg Applications

[Note]

Note

When installing multiple packages in a script, the installation needs to be done as the root user. There are three general options that can be used to do this:

  1. Run the entire script as the root user (not recommended).

  2. Use the sudo command from the Sudo-1.8.14p3 package.

  3. Use su -c "command arguments" (quotes required) which will ask for the root password for every iteration of the loop.

One way to handle this situation is to create a short bash function that automatically selects the appropriate method. Once the command is set in the environment, it does not need to be set again.

as_root()
{
  if   [ $EUID = 0 ];        then $*
  elif [ -x /usr/bin/sudo ]; then sudo $*
  else                            su -c \\"$*\\"
  fi
}

export -f as_root

First, start a subshell that will exit on error:

bash -e

Install all of the packages by running the following commands:

for package in $(grep -v '^#' ../app-7.7.md5 | awk '{print $2}')
do
  packagedir=${package%.tar.bz2}
  tar -xf $package
  pushd $packagedir
  case $packagedir in
    luit-[0-9]* )
      line1="#ifdef _XOPEN_SOURCE"
      line2="#  undef _XOPEN_SOURCE"
      line3="#  define _XOPEN_SOURCE 600"
      line4="#endif"

      sed -i -e "s@#ifdef HAVE_CONFIG_H@$line1\n$line2\n$line3\n$line4\n\n&@" sys.c
      unset line1 line2 line3 line4
    ;;
    sessreg-* )
      sed -e 's/\$(CPP) \$(DEFS)/$(CPP) -P $(DEFS)/' -i man/Makefile.in
    ;;
  esac
  ./configure $XORG_CONFIG
  make
  as_root make install
  popd
  rm -rf $packagedir
done

Finally, exit the shell that was started earlier:

exit

Unless you installed the optional dependencies, remove an undocumented script which is reported to be broken (xkeystone provided by the xrandr package).

rm -f $XORG_PREFIX/bin/xkeystone

Command Explanations

sed -e 's/\$(CPP) \$(DEFS)/$(CPP) -P $(DEFS)/' -i man/Makefile.in: with gcc-5 the behaviour of cpp was changed to emit line numbers. That results in unterminated sed commands in filenames.sed. Adding -P restores the old behaviour.

Contents

Installed Programs: bdftopcf, iceauth, luit, mkfontdir, mkfontscale, sessreg, setxkbmap, smproxy, x11perf, x11perfcomp, xauth, xbacklight, xcmsdb, xcursorgen, xdpr, xdpyinfo, xdriinfo, xev, xgamma, xhost, xinput, xkbbell, xkbcomp, xkbevd, xkbvleds, xkbwatch, xkill, xlsatoms, xlsclients, xmessage, xmodmap, xpr, xprop, xrandr, xrdb, xrefresh, xset, xsetroot, xvinfo, xwd, xwininfo, and xwud
Installed Libraries: None
Installed Directories: None

Short Descriptions

bdftopcf

converts an X font from Bitmap Distribution Format to Portable Compiled Format.

iceauth

is the ICE authority file utility.

luit

provides locale and ISO 2022 support for Unicode terminals.

mkfontdir

creates an index of X font files in a directory.

mkfontscale

creates an index of scalable font files for X.

sessreg

manages utmp/wtmp entries for non-init clients.

setxkbmap

sets the keyboard using the X Keyboard Extension.

smproxy

is the Session Manager Proxy.

x11perf

is an X11 server performance test program.

x11perfcomp

is an X11 server performance comparison program.

xauth

is the X authority file utility.

xbacklight

adjusts backlight brightness using RandR extension.

xcmsdb

is the Device Color Characterization utility for the X Color Management System.

xcursorgen

creates an X cursor file from a collection of PNG images.

xdpr

dumps an X window directly to a printer.

xdpyinfo

is a display information utility for X.

xdriinfo

queries configuration information of DRI drivers.

xev

prints contents of X events.

xgamma

alters a monitor's gamma correction through the X server.

xhost

is a server access control program for X.

xinput

is a utility to configure and test X input devices.

xkbbell

is an XKB utility program that raises a bell event.

xkbcomp

compiles an XKB keyboard description.

xkbevd

is the XKB event daemon.

xkbvleds

shows the XKB status of keyboard LEDs.

xkbwatch

monitors modifier keys and LEDs.

xkill

kills a client by its X resource.

xlsatoms

lists interned atoms defined on the server.

xlsclients

lists client applications running on a display.

xmessage

displays a message or query in a window.

xmodmap

is a utility for modifying keymaps and pointer button mappings in X.

xpr

prints an X window dump.

xprop

is a property displayer for X.

xrandr

is a primitive command line interface to RandR extension.

xrdb

is the X server resource database utility.

xrefresh

refreshes all or part of an X screen.

xset

is the user preference utility for X.

xsetroot

is the root window parameter setting utility for X.

xvinfo

prints out X-Video extension adaptor information.

xwd

dumps an image of an X window.

xwininfo

is a window information utility for X.

xwud

is an image displayer for X.

Last updated on 2015-09-09 21:58:46 -0700