Unix has a long history that predates the popular demand for a graphical user interface (GUI). However, a GUI is an essential part of running desktop systems today, and the standard GUI on Linux systems is the X Window System, or more simply, X. Originally developed at MIT and Digital Equipment Corporation, X"s Version 11 Release 7 is the version most commonly seen in Linux distributions. This version is more commonly referred to as X11R7.4 X11R7.4, or just X11 X11. X is a complete windowing GUI and is distributable under license without cost. The implementation of X for Linux is X.Org Foundation, which is available for multiple computer architectures and is released under the GNU Public License. This section covers the following three Objectives on X.Org Foundation for LPI Exam 102: Objective 1: Install and Configure X11 An LPIC 1 candidate should be able to configure and install X and an X font server. This Objective includes verifying that the video card and monitor are supported by an X server as well as customizing and tuning X for the video card and monitor. It also includes installing an X font server, installing fonts, and configuring X to use the font server (which may require manually editing /etc/X11/xorg.conf /etc/X11/xorg.conf). Weight: 2.
Objective 2: Set Up a Display Manager This Objective states a candidate should be able to set up and customize a display manager. This includes turning the display manager on or off and changing the display manager greetings. It also includes changing default bitplanes for the display manager and configuring display managers for use by X stations. This Objective covers the display managers: X Display Manager (xdm), Gnome Display Manager (gdm), and KDE Display Manager (kdm). Weight: 2.
Objective 3: Accessibility Demonstrate knowledge and awareness of accessibility technologies. This objective requires the candidate to be familiar with the various technologies and how they may be configured in the X Window System. Topics include keyboard shortcuts, controlling visual settings and themes, and a.s.sistive technologies. Weight: 1.
An Overview of X X is implemented using a client/server model. X servers and clients can be located on the same computer or separated across a network, so that computation is handled separately from display rendering. While X servers manage hardware, they do not define the look of the display, and they offer no tools to manipulate clients. The X server is responsible for rendering various shapes and colors on screen. Examples of X Servers include: Software from X.Org, which controls your Linux PC"s video cardX.Org software on a separate networked system, displaying output from a program running on your system Other networked Unix systems running their own X server software X implementations for other operating systems, such as Microsoft Windows An X Terminal X Terminal, which is a hardware device with no computational ability of its own, built solely for display purposes X clients are user programs, such as spreadsheets or CAD tools, which display graphical output. Examples of X clients are: A browser, such as Firefox or Opera A mail program, such as Evolution or Kmail Office applications, such as OpenOffice, Gnumeric, or AbiWord A terminal emulator, such as xterm xterm, running within an X window A special client program called a window manager window manager is responsible for these functions and provides windows, window sizing, open and close b.u.t.tons, and so forth. The window manager controls the other clients running under an X server. Multiple window managers are available for the X Window System, allowing you to choose an interface style that suits your needs and personal taste. is responsible for these functions and provides windows, window sizing, open and close b.u.t.tons, and so forth. The window manager controls the other clients running under an X server. Multiple window managers are available for the X Window System, allowing you to choose an interface style that suits your needs and personal taste.
A few complete graphical desktop environments desktop environments are also available. These packages can include a window manager and additional applications that work together to create a complete, unified working environment. Most Linux distributions ship with either the KDE or GNOME, or both, along with a number of standalone window managers. There is no standard window manager or environment for Linux. The selection is entirely up to the user. are also available. These packages can include a window manager and additional applications that work together to create a complete, unified working environment. Most Linux distributions ship with either the KDE or GNOME, or both, along with a number of standalone window managers. There is no standard window manager or environment for Linux. The selection is entirely up to the user.
Objective 1: Install and Configure X11 Most Linux distributions install and automatically configure X.Org, freeing users from much of its installation and configuration. However, Exam 102 requires specific knowledge of some of the underpinnings of X configuration.
NoteBe careful about installing an X server on a system that already has X installed. A backup should be made prior to the installation.
Selecting and Configuring an X Server X.Org is the standard X Window System implementation for most distributions of Linux. X.Org is released and maintained by X.Org Foundation, which is a nonprofit community of developers and doc.u.mentation writers. The X11 environment from X.Org is based on the code developed by XFree86, which was used as the X Windows implementation in many Linux distributions. Freedesktop.org is a collaborative project to develop software for X Window System computers. Get distribution files for X.Org at is a collaborative project to develop software for X Window System computers. Get distribution files for X.Org at X.Org project provides support for an amazing array of graphics hardware. This outcome is possible partly due to cooperation by manufacturers through public release of graphics device doc.u.mentation and driver software, and partly due to the tenacity of the X.Org developers. Fortunately, many manufacturers who were historically uninterested in offering technical information to the X.Org project have become cooperative. The result is that most recent video hardware is well-supported by X.Org.
Supported video hardware To avoid problems, it is important to verify XFree86 compatibility with your hardware prior to installation. At the very least, you should be aware of these items: Your X.Org version As with any software, improvements in X.Org are made over time, particularly in support for hardware devices. You should choose a version of X.Org that offers a good balance between the video support and stability you require. To determine which version of X you"re running, simply issue the following command:$X-version X.orgXServer1.6.1.901(1.6.2RC1) ReleaseDate2009-5-8 XProtocolVersion11,Revision0 The video chipset X.Org video drivers are written for graphics chipsets, not the video cards on which they"re installed. Multiple video cards from a variety of manufacturers can carry the same chipset, making those cards nearly identical in function. You must verify that the chipset on your video card is supported by X.Org to use advanced graphics features. Supported chipsets are listed on the X.Org wiki.
Monitor type X.Org can be configured to handle just about any monitor, particularly the newer and very flexible multisync monitors sold today, which can handle preset configurations provided in the X.Org Foundation configuration utilities. However, if you have a nonstandard monitor, you need to know some parameters describing its capabilities before configuring X, including your monitor"s horizontal sync frequency (in kHz), vertical refresh frequency (in Hz), and resolution (in pixels). These items can usually be found in your monitor"s doc.u.mentation, but since most monitors conform to standard display settings such as XGA XGA (1024768 pixels at 60 Hz vertical refresh), you should be able to use a preset configuration. (1024768 pixels at 60 Hz vertical refresh), you should be able to use a preset configuration.
Installing X.Org It is rare that you"ll actually need to install X.Org by hand, as X.Org is typically installed during initial system installation for systems that plan to use X. Most Linux distributions include X.Org packages on the installation media so you can install them from there using your distribution"s choice of package managers.
Some applications might require that you install a new release or development version of X.Org that is not available as a package. In these cases, you can download the source files or precompiled binaries from X.Org mirror websites. Refer to Chapter5 Chapter5 for more information on installing applications from packages or source files. for more information on installing applications from packages or source files.
Configuring an X server and the xorg.conf file X.Org configuration differs slightly among versions and among Linux distributions, but essentially involves the creation of the xorg.conf xorg.conf file customized for your system. The file is created during the system install as devices are automatically detected and configured. Typically there is no further need for modification to the file, as it will be managed by the system. The X server uses this configuration file when it starts to set such things as keyboard and mouse selections, installed fonts, and screen resolutions. file customized for your system. The file is created during the system install as devices are automatically detected and configured. Typically there is no further need for modification to the file, as it will be managed by the system. The X server uses this configuration file when it starts to set such things as keyboard and mouse selections, installed fonts, and screen resolutions.
Example14-1 contains an contains an xorg.conf xorg.conf file. (Note that the file. (Note that the xorg.conf xorg.conf file shown contains example settings and is not intended for use on your system.) file shown contains example settings and is not intended for use on your system.) Example14-1.A sample xorg.conf file for XFree86 v3.3.3 #/etc/X11/xorg.conf(xorgXWindowSystemserverconfigurationfile) #Thisfilewasgeneratedbydexconf,theDebianXConfigurationtool,using #valuesfromthedebconfdatabase.
#Editthisfilewithcaution,andseethe/etc/X11/xorg.confmanualpage.
#(Type"man/etc/X11/xorg.conf"atthesh.e.l.lprompt.) # #Thisfileisautomaticallyupdatedonxserver-xorgpackageupgrades*only*
#ifithas...o...b..enmodifiedsincethelastupgradeofthexserver-xorg #package.
# #Ifyouhaveeditedthisfilebutwouldlikeittobeautomaticallyupdated #again,runthefollowingcommand: #sudodpkg-reconfigure-phighxserver-xorg
Section"Files"
FontPath"/usr/share/X11/fonts/misc"
FontPath"/usr/share/X11/fonts/cyrillic"
FontPath"/usr/share/X11/fonts/100dpi/:unscaled"
FontPath"/usr/share/X11/fonts/75dpi/:unscaled"
FontPath"/usr/share/X11/fonts/Type1"
FontPath"/usr/share/X11/fonts/100dpi"
FontPath"/usr/share/X11/fonts/75dpi"
FontPath"/usr/share/fonts/X11/misc"
#pathtodefomafonts FontPath"/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection
Section"Module"
Load"i2c"
Load"bitmap"
Load"ddc"
Load"dri"
Load"extmod"
Load"freetype"
Load"glx"
Load"int10"
Load"type1"
Load"vbe"
EndSection
Section"InputDevice"
Identifier"GenericKeyboard"
Driver"kbd"
Option"CoreKeyboard"
Option"XkbRules""xorg"
Option"XkbModel""pc105"
Option"XkbLayout""us"
Option"XkbOptions""lv3:ralt_switch"
EndSection
Section"InputDevice"
Identifier"ConfiguredMouse"
Driver"mouse"
Option"CorePointer"
Option"Device""/dev/input/mice"
Option"Protocol""ExplorerPS/2"
Option"ZAxisMapping""45"
Option"Emulate3b.u.t.tons""true"
EndSection
Section"InputDevice"
Driver"wacom"
Identifier"stylus"
Option"Device""/dev/wacom"#Changeto #/dev/input/event #forUSB Option"Type""stylus"
Option"ForceDevice""ISDV4"#TabletPCONLY EndSection
Section"InputDevice"
Driver"wacom"
Identifier"eraser"
Option"Device""/dev/wacom"#Changeto #/dev/input/event #forUSB Option"Type""eraser"
Option"ForceDevice""ISDV4"#TabletPCONLY EndSection
Section"InputDevice"
Driver"wacom"
Identifier"cursor"
Option"Device""/dev/wacom"#Changeto #/dev/input/event #forUSB Option"Type""cursor"
Option"ForceDevice""ISDV4"#TabletPCONLY EndSection
Section"Device"
Identifier"VMWareInc[VMwareSVGAII]PCIDisplayAdapter"
Driver"vmware"
BusID"PCI:0:15:0"
EndSection
Section"Monitor"
Identifier"GenericMonitor"
Option"DPMS"
HorizSync28-51 VertRefresh43-60 EndSection
Section"Screen"
Identifier"DefaultScreen"
Device"VMWareInc[VMwareSVGAII]PCIDisplayAdapter"
Monitor"GenericMonitor"