Xorg Applications

Introduction to Xorg Applications

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

[Note]

Note

Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.

Package Information

Xorg Applications Dependencies

Required

libpng-1.6.43, Mesa-24.0.3, xbitmaps-1.1.3, and xcb-util-0.4.1

Optional

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

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.md5 << "EOF"
30f898d71a7d8e817302970f1976198c  iceauth-1.0.10.tar.xz
c4a3664e08e5a47c120ff9263ee2f20c  luit-1.1.1.tar.bz2
7dcf5f702781bdd4aaff02e963a56270  mkfontscale-1.2.3.tar.xz
05423bb42a006a6eb2c36ba10393de23  sessreg-1.1.3.tar.xz
1d61c9f4a3d1486eff575bf233e5776c  setxkbmap-1.3.4.tar.xz
9f7a4305f0e79d5a46c3c7d02df9437d  smproxy-1.0.7.tar.xz
e96b56756990c56c24d2d02c2964456b  x11perf-1.6.1.tar.bz2
595c941d9aff6f6d6e038c4e42dcff58  xauth-1.1.3.tar.xz
#5b6405973db69c0443be2fba8e1a8ab7  xbacklight-1.2.3.tar.bz2
82a90e2feaeab5c5e7610420930cc0f4  xcmsdb-1.0.6.tar.xz
89e81a1c31e4a1fbd0e431425cd733d7  xcursorgen-1.0.8.tar.xz
933e6d65f96c890f8e96a9f21094f0de  xdpyinfo-1.3.4.tar.xz
34aff1f93fa54d6a64cbe4fee079e077  xdriinfo-1.0.7.tar.xz
f29d1544f8dd126a1b85e2f7f728672d  xev-1.2.6.tar.xz
41afaa5a68cdd0de7e7ece4805a37f11  xgamma-1.0.7.tar.xz
48ac13856838d34f2e7fca8cdc1f1699  xhost-1.0.9.tar.xz
8e4d14823b7cbefe1581c398c6ab0035  xinput-1.6.4.tar.xz
83d711948de9ccac550d2f4af50e94c3  xkbcomp-1.4.7.tar.xz
05ce1abd8533a400572784b1186a44d0  xkbevd-1.1.5.tar.xz
07483ddfe1d83c197df792650583ff20  xkbutils-1.0.6.tar.xz
f62b99839249ce9a7a8bb71a5bab6f9d  xkill-1.0.6.tar.xz
da5b7a39702841281e1d86b7349a03ba  xlsatoms-1.1.4.tar.xz
ab4b3c47e848ba8c3e47c021230ab23a  xlsclients-1.1.5.tar.xz
ba2dd3db3361e374fefe2b1c797c46eb  xmessage-1.0.7.tar.xz
0d66e07595ea083871048c4b805d8b13  xmodmap-1.0.11.tar.xz
ab6c9d17eb1940afcfb80a72319270ae  xpr-1.2.0.tar.xz
d050642a667b518cb3429273a59fa36d  xprop-1.2.7.tar.xz
f822a8d5f233e609d27cc22d42a177cb  xrandr-1.5.2.tar.xz
c8629d5a0bc878d10ac49e1b290bf453  xrdb-1.2.2.tar.xz
55003733ef417db8fafce588ca74d584  xrefresh-1.1.0.tar.xz
18ff5cdff59015722431d568a5c0bad2  xset-1.2.5.tar.xz
fa9a24fe5b1725c52a4566a62dd0a50d  xsetroot-1.1.3.tar.xz
d698862e9cad153c5fefca6eee964685  xvinfo-1.1.5.tar.xz
b0081fb92ae56510958024242ed1bc23  xwd-1.0.9.tar.xz
c91201bc1eb5e7b38933be8d0f7f16a8  xwininfo-1.1.6.tar.xz
5ff5dc120e8e927dc3c331c7fee33fc3  xwud-1.0.6.tar.xz
EOF

To download the needed files using Wget-1.24.5, use the following commands:

mkdir app &&
cd app &&
grep -v '^#' ../app-7.md5 | awk '{print $2}' | wget -i- -c \
    -B https://www.x.org/pub/individual/app/ &&
md5sum -c ../app-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.9.15p5 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.md5 | awk '{print $2}')
do
  packagedir=${package%.tar.?z*}
  tar -xf $package
  pushd $packagedir
     case $packagedir in
       luit-[0-9]* )
         sed -i -e "/D_XOPEN/s/5/6/" configure
       ;;
     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).

as_root rm -f $XORG_PREFIX/bin/xkeystone

Contents

Installed Programs: 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

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