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 dependencies have been updated since the most recent stable versions of the book.

Package Information

Xorg Applications Dependencies

Required

libpng-1.6.38, Mesa-22.2.0, xbitmaps-1.1.2, and xcb-util-0.4.0

Optional

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

User Notes: https://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.md5 << "EOF"
5d3feaa898875484b6b340b3888d49d8  iceauth-1.0.9.tar.xz
c4a3664e08e5a47c120ff9263ee2f20c  luit-1.1.1.tar.bz2
fd2e6e5a297ac2bf3d7d54799bf69de0  mkfontscale-1.2.2.tar.xz
92be564d4be7d8aa7b5024057b715210  sessreg-1.1.2.tar.bz2
2f72c7170cdbadc8ef786b2f9cfd4a69  setxkbmap-1.3.3.tar.xz
3a93d9f0859de5d8b65a68a125d48f6a  smproxy-1.0.6.tar.bz2
e96b56756990c56c24d2d02c2964456b  x11perf-1.6.1.tar.bz2
dbcf944eb59343b84799b2cc70aace16  xauth-1.1.2.tar.xz
5b6405973db69c0443be2fba8e1a8ab7  xbacklight-1.2.3.tar.bz2
82a90e2feaeab5c5e7610420930cc0f4  xcmsdb-1.0.6.tar.xz
25cc7ca1ce5dcbb61c2b471c55e686b5  xcursorgen-1.0.7.tar.bz2
f67116760888f2e06486ee3d179875d2  xdpyinfo-1.3.3.tar.xz
480e63cd365f03eb2515a6527d5f4ca6  xdriinfo-1.0.6.tar.bz2
61219e492511b3d78375da76defbdc97  xev-1.2.5.tar.xz
90b4305157c2b966d5180e2ee61262be  xgamma-1.0.6.tar.bz2
a48c72954ae6665e0616f6653636da8c  xhost-1.0.8.tar.bz2
ac6b7432726008b2f50eba82b0e2dbe4  xinput-1.6.3.tar.bz2
c45e9f7971a58b8f0faf10f6d8f298c0  xkbcomp-1.4.5.tar.bz2
c747faf1f78f5a5962419f8bdd066501  xkbevd-1.1.4.tar.bz2
cf65ca1aaf4c28772ca7993cfd122563  xkbutils-1.0.5.tar.xz
938177e4472c346cf031c1aefd8934fc  xkill-1.0.5.tar.bz2
61671fee12535347db24ec3a715032a7  xlsatoms-1.1.3.tar.bz2
4fa92377e0ddc137cd226a7a87b6b29a  xlsclients-1.1.4.tar.bz2
f33841b022db1648c891fdc094014aee  xmessage-1.0.6.tar.xz
0d66e07595ea083871048c4b805d8b13  xmodmap-1.0.11.tar.xz
9cf272cba661f7acc35015f2be8077db  xpr-1.1.0.tar.xz
2358e29133d183ff67d4ef8afd70b9d2  xprop-1.2.5.tar.bz2
fe40f7a4fd39dd3a02248d3e0b1972e4  xrandr-1.5.1.tar.xz
85f04a810e2fb6b41ab872b421dce1b1  xrdb-1.2.1.tar.bz2
33b04489e417d73c90295bd2a0781cbb  xrefresh-1.0.7.tar.xz
70ea7bc7bacf1a124b1692605883f620  xset-1.2.4.tar.bz2
5fe769c8777a6e873ed1305e4ce2c353  xsetroot-1.1.2.tar.bz2
b13afec137b9b331814a9824ab03ec80  xvinfo-1.1.4.tar.bz2
f783a209f2e3fa13253cedb65eaf9cdb  xwd-1.0.8.tar.bz2
26d46f7ef0588d3392da3ad5802be420  xwininfo-1.1.5.tar.bz2
5ff5dc120e8e927dc3c331c7fee33fc3  xwud-1.0.6.tar.xz
EOF

To download the needed files using wget, 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.11p3 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