Summary

X is Linux’s GUI system. In part because of Linux’s modular nature, X isn’t a single program; you have your choice of X servers to run on Linux. Fortunately, most Linux distributions use the same X server as all others (X.org-X11). Both X.org-X11 and its main competitor, XFree86, are configured in much the same way, using the xorg.conf (for X.org-X11) or XF86Config configuration file. Whatever its name, this file consists of several sections, each of which controls one X subsystem, such as the mouse, the keyboard, or the video card. This file also controls X’s core fonts system, but you can use a font server in addition to this system; and most modern programs are now emphasizing an entirely new font system, Xft, instead of X core fonts. For this reason, Linux font configuration can be complex.

X’s GUI login system uses an XDMCP server, which starts X and manages the X display. Several XDMCP servers are in common use in Linux, the most important being XDM, KDM, and GDM. They all perform the same basic tasks, but configuration details differ. (XDM is also less sophisticated than KDM and GDM.) X is a network-enabled GUI, which means you can use an X server to access programs running on another computer. Doing so requires performing a few steps for each login session. You can also tunnel X accesses through SSH, which greatly improves the security of the connection.

An assortment of tools can help make Linux more accessible to users with visual or motor impairments. You can adjust font size, screen contrast, and other display features to improve legibility; use screen magnifiers to help users read part of a larger screen; or even bypass a visual display entirely and use a screen reader for auditory output or a Braille display for tactile output. On the input side, you can adjust keyboard repeat rates, use sticky keys, or modify the mouse tracking speed and click sensitivity to improve users’ ability to input data accurately. You can even have a mouse stand in for a keyboard or vice versa by using appropriate software.

The second main visual output tool on computers is a printer, and Linux provides sophisticated printer support. The CUPS package manages printers in Linux by accepting local or remote print jobs, passing them through a smart filter for processing, and queuing the jobs so that they print in a reasonable order. Most CUPS configuration is best handled via its own Web interface, but some options (particularly security features) can be set via text configuration files.

FAQ

What are the major X servers for Linux?

XFree86 has been the traditional standard Linux X server, but in 2004 X.org-X11 (which was based on XFree86) rapidly gained prominence as the new standard Linux X server. Accelerated-X is a commercial X server that sometimes supports video cards that aren’t supported by XFree86 or X.org-X11.

What is the X configuration file format?

The XFree86 and X.org-X11 configuration file is broken into multiple sections, each of which begins with the keyword Section and ends with EndSection. Each section sets options related to a single X feature, such as loading modules, specifying the mouse type, or describing the screen resolution and color depth.

What are the differences between X core fonts, a font server, and Xft fonts?

X core fonts are managed directly by X, and they lack modern font features such as font smoothing. Font servers integrate with the X core fonts but run as separate programs and may optionally deliver fonts to multiple computers on a network. Xft fonts bypass the X core font system to provide client-side fonts in a way that supports modern features such as font smoothing.

What is the role of an XDMCP server?

An XDMCP server, such as XDM, KDM, or GDM, launches X and controls access to X via a login prompt—that is, it serves as Linux’s GUI login system. XDMCP servers are also network-enabled, providing a way to log in remotely from another X server.

What is the model of X’s client-server?

An X server runs on the user’s computer to control the display and accept input from the keyboard and mouse. Client programs run on the same computer or on a remote computer to do the bulk of the computational work. These client programs treat the X server much as they treat other servers, requesting input from and sending output to them.

What are the benefits of using SSH for remote X access?

SSH can simplify remote X-based network access by reducing the number of steps required to run X programs from a remote computer. More important, SSH encrypts data, which keeps information sent between the X client and X server secure from prying eyes.

What are X accessibility features?

You can adjust keyboard and mouse options to help those with motor impairments to use keyboards and mice or to substitute one device for the other. Font size, contrast, and magnification tools can help those with visual impairments. Finally, text readers and Braille displays can enable blind individuals to use a Linux system.

How to set a time zone in Linux?

Linux uses a binary file, /etc/localtime, to describe the features of the time zone. This file is copied or linked from a repository of such files at system installation, but you can replace the file at any time.

What is the role of Ghostscript in Linux printing?

PostScript is the standard Linux printing language, and Ghostscript converts PostScript into bitmap formats that are acceptable to non-PostScript printers. Thus, Ghostscript is a critical translation step in many Linux print queues, although it’s not required for PostScript printers.

How print jobs are submitted and managed under Linux?

You use lpr to submit a print job for printing, or an application program may call lpr itself or implement its functionality directly. The lpq utility summarizes jobs in a queue, and lprm can remove print jobs from a queue.