Book: LPI Linux Certification in a Nutshell Section: Chapter 24. Exam 102 Highlighter's Index
24.6 X
X is a client-server GUI system. XFree86 is the X implementation used for Linux.
An X server is software or hardware that renders graphical output on a display device.
An X client is software whose output is displayed by an X server and is usually managed by a window manager.
An X window manager is a client that applies frames and controls to other client windows.
24.6.1 Objective 1: Install and Configure XFree86
24.6.1.1 Selecting and configuring an X server
XFree86 configuration depends on the software version, the video chipset in use, and the monitor's capabilities.
XFree86 can be installed from Linux distribution packages (.rpm, .deb), precompiled binaries, or compiled from source.
Configuration of XFree86 is done in the XF86Config file.
XF86Config contains sections that define input devices, monitors, graphics modes, and so on.
XF86Config files differ between XFree86 Versions 3.x and 4.x.
24.6.1.2 X fonts
The X server uses X fonts to satisfy font requests from X clients.
Fonts are enumerated either through a static list presented in /etc/X11/XF86Config or through a font server such as xfs.
xfs is configured using its configuration file, /etc/X11/fs/config.
24.6.1.3 .Xresources
X resource settings in the .Xresources file control client program parameters. For example, this line defines a black background for an xterm:
xterm*background: Black
24.6.2 Objective 2: Set Up xdm
xdm, the X Display Manager, handles X sessions on physical displays both locally and across the network.
xdm handles authentication.
xdm is configured by a series of files in /etc/X11/xdm.
xdm is typically started automatically in runlevel 5 by making the appropriate settings in /etc/inittab.
xdm may be personalized by changing the resources in /etc/X11/xdm/ Xresources.
Command-line options for the X server can be added to the /etc/X11/xdm/Xservers file.
24.6.2.1 X stations
X stations, also known as X terminals, are low-cost hardware systems that implement an X server and display.
xdm can listen for inbound connection requests from X terminals using the xdmcp protocol.
Specific access rules for X terminals to the xdm daemon can be configured in /etc/X11/xdm/Xaccess.
24.6.3 Objective 3: Identify and Terminate Runaway X Applications
X applications can occasionally become unresponsive or remain running after the X server is terminated.
Use the top utility to identify processes.
Use kill or killall to terminate processes.
If the X server is unresponsive, use Ctrl-Alt-F2 to switch to another console, and kill offending processes.
24.6.4 Objective 4: Install and Customize a Window Manager
An X server doesn't supply a working user environment.
Starting X usually involves launching not only the X server but also a window manager and other clients.
A default window manager, such as the basic twm, is started by a combination of the startx script and xinit.
xinit also calls scripts that include a window manager and default clients.
Default system X configuration can be overridden by files in the user's home directory.
24.6.4.1 Window managers
Each window manager and desktop environment has its own style of configuration.
twm uses .twmrc in the user's home directory. If that file doesn't exist, it uses the systemwide /etc/X11/twm/system.twmrc.
Window manager configuration files can contain font and color selections, bindings between actions (such as mouse clicks) and responses, and menu definitions.
24.6.4.2 xterm
A terminal emulator is a program that offers a command-line interface in a GUI window.
xterm is the standard terminal emulator; there are many others.
xterm can be configured in /usr/lib/X11/app-defaults/XTerm.
24.6.4.3 X libraries
X applications are dependent upon shared X libraries.
Various graphical toolkits such as GTK or Qt can be used to develop X client applications.
Software that depends on a particular library will not run unless that library is installed.
You can determine which libraries an executable requires with ldd .
24.6.4.4 Remote X clients
X clients can be displayed on remote X servers.
The DISPLAY environment variable is used to indicate the destination for X client displays.
DISPLAY has the format [host]:display[. screen] where host is a remote hostname or IP address, display is the display target (starting with 0), and screen is the screen to use on multiheaded displays.