Hardware & Software
CompTIA Linux+ Exam: User Interfaces and Desktops
February 22, 2016
This series explores individual CompTIA Linux+ exam objectives further and builds off the “What Do I Need to Know to Pass the Linux+ Exam LX0-104?” blog post. This post is dedicated to user interfaces and desktops, which consists of 18% of the entire LX0-104 Linux+ exam.
User Interfaces and Desktops – 18%
1. Install and Configure X11
Question(s): What is X, how do I install and configure it, and what to know for the exam?
The X Window System, also called simply “X”, is a cross-platform free client-server system for graphical user interfaces. X stands as the default server system that supports Linux and Unix-like GUIs. Check out the thorough description of X and all its capabilities on the official X Window System brief intro. For a first hand example of installing X during an operating system installation, refer to the blog post the steps to install Arch Linux. (Arch is not necessary to know for the exam)
Why give a hoot about X configuration if most Linux distributions have auto-configuration when installing the OS?
X is sophisticated and often auto-detects configuration during most Linux distribution installations, but as an admin you don’t want to live in the realm of “basic” knowledge of X, especially when unexpectedly confronting problems after upgrades.
Admins should understand beyond the basic configuration options all tied to X’s features and capabilities for fonts, GUI login tools, remote access, and configuration of hardware devices (keyboard and mouse), screen resolution, color depth, and X’s relationship with video cards. Even if you never need to configure many options with X, become familiar with X’s configuration file format and read the man page at xorg.conf.
Most importantly, after making any changes to the configuration, test those changes. Take detailed notes about what you change (save old configuration options in a text file). In case you break something, notes with the old options can alleviate those temporary issues. Depending on the distribution, there are several ways to start and stop X to test changes. The startx command starts x. Ctrl+Alt+Backspace stops it. The kill command with the correct process id kills it too.
Files, Terms, and Utilities:
- Mouse and Keyboard Layouts – Review the sections for the input devices of the keyboard and mouse in the X configuration file. Although this isn’t critical info, it’s good to review and no where it’s located, the options for adjustments, and why you may need to ever institute adjustments. For example, you may want to edit the “AutoRepeat” option for the keyboard to adjust how often a key repeats. But as you’ll see later in the post, you can make the same adjustment through the GUI.
- xhost (this info comes from the original blog post on the LX0-104 exam) – This is server access control program for X. Common options include:
- xhost + hostname: Adds hostname to X server access control list.
- xhost – hostname: Removes hostname from X server access control list.
- xhost + : Turns off access control (all remote hosts will have access to X server)
- xhost – : Turns access control back on.
- DISPLAY – The environment variable sets the X display name.
- Screen Resolution and Color Depth – The screen section in the configuration file is labeled as “Screen” and it includes subsections such as “Display”. The section contains default information on the devices used, monitors, and default depth. Most modern video cards have a minimum of 32 MB of RAM which is enough to handle high resolutions of 32-bit depth.
- Video Cards and Drivers – X sends data to the monitor indirectly through video cards. When the video cards is incorrectly configured, you’ll know. X won’t start. X or X.org-X11 usually auto selects the best video driver for the system and hardware, but sometimes you must set the video drivers in the configuration file (remember it’s xorg.conf. Can’t find it? Refer to your distribution’s official documentation or system’s man page). Locate the drivers in the “Driver” module in the file. The paths /usr/X11R6/lib/modules/drivers or /usr/lib/xorg/modules/drivers hold the drivers. Most driver file names end in “_drv.o” Modern drivers often include:
- nv for nouveau drivers for nVidia cards
- radeon driver for ATD/AMD cards
- intel driver for Intel cards
- xdpyinfo – This program produces a wealth of information on the current display, including screen resolution and color depth.
- Bitmap fonts – Fonts, such as Bitmap graphics, where the fonts are stored in several font files.
- Outline fonts – The fonts represent each character as a series of lines and curves in a high resolution matrix. Enables a single font file to handle every possible font use. This proves more effective than Bitmap fonts.
- Font Server – Program that delivers fonts to groups of computers over the network. This approach is outdated.
- Core X fonts – X handles the core fonts, Type 1 and TrueType, directly. You would benefit from an understanding of how to create a font directory to hold these fonts and the importance of summary files (fonts.dir) for groups of font files. Also, know how to edit the “FontPath” descriptor in the x configuration file to point to the new or correct location of the font directories and files.
- Adobe PostScript Type 1 Fonts – One of the two core fonts used in Linux.
- TrueType Fonts – The second of two core fonts used in Linux
- mkfontscale – This progam creates a “font.scale” file after reading all the fonts in a current directory.
- mkfontdir – This program combines the font.scale and fonts.dir files.
- ttmkfdir – This program creates a fonts.dir file for TrueType fonts.
- type1inst – This program creates a fonts.dir file for Type 1 fonts.
- Xft fonts – Most modern applications use the Xft font system. Xft is a client-based system that does not have the cons of X core fonts have for several typographic advanced options. You can configure the system to use the Xft and X core fonts.
- SSH tunneling – Tunneling X through SSH is the preferred technique for remote X access. You must edit the SSH configuration files for remote access connections to work. The config files include:
- Virtual Network Computing (VNC) – Enables remote access on Linux systems and the ability to log into Mac and Windows systems.
2. Setup Display Manager
Question (s): What is the difference between display managers, why is it relevant for system administration, and what display managers are on the exam?
Different display managers work with different Linux distributions.
Display managers matter for the exam and system administration because they control user access and manage the desktop environment login. You must comprehend at least the basic configuration for LightDM and the other similar steps for configuing user login options and access to different desktop environments. Know the slight differences between these the main four.
The Linux+ exam addresses XDM, GDM, KDM, and LightDM.
Files, Terms, and Utilities:
- X Display Manager Control Protocol (XDMCP) – The XDMCP server controls local logins and listens for remote connections to X servers. The five common XDMCP servers include XDM, GDM, KDM, LightDM, and MDM.
- XDM – Oldest but least feature heavy display manager. XDM accepts user names and passwords, but the choice to change desktop environments from login requires editing in the configuration file. XDM config files are located at /etc/x11/xdm/xdm-config. Remote access options are available in this file on the line stating – DisplayManager . request:0″. Change the 0 to 177 to enable remote connections. Other options for remote access (who can access the XDMCP server and what they can do) are available in these files:
- GDM – Works with GNOME. The configuration file is located at /etc/X11/gdm or /etc/gdm.
- KDM – Works for KDE. Expands on the original features of XDM by allowing the user to switch desktop environments and shutdown or reboot the system at the login prompt. The configuration file location is at either:
- MDM – MDM is a derivative of GDM, but not necessary to know for the exam.
- LightDM – Designed as a common display manager for multiple distributions. Ubuntu made LightDM its default display manager. Find the configuration file at /usr/share/lightdm/lightdm.conf.d or /etc/lightdm.
- Turn the display manager on and off
- change the display manager greeting
Question (s): How much of the accessibility options are addressed on the exam? Do I need to know all of the special Linux software necessary to download outside of what’s included with most distributions?
Accessibility is a much more prevalent topic than you may realize. Technology should accomodate and adjust to people with various types of preferences and disabilities. Computers are for everyone. Linux is built with that perspective in mind. Once again refer to the original post hyperlinked above to watch the video on accessibility or peruse YouTube yourself.
To gain familiarity with most of these options, you can peruse your current desktop environment options. Most, if not all, of the accessibility options for changing themes (color contrast adjustments), fonts, keyboard and mouse actions, and even activated an on-screen keyboard, are available view the system settings in the GUI.
Files, Terms, and Utilities:
- AccessX – Although outdated and not included in most modern Linux distributions, the program is included in the official Linux+ exam objectives. Refer to the equivalent desktop environment options that provide the same features for assistive technology. Read more about AccessX here.
- Sticky keys – For those individuals who run into issues pressing multiple keys at once, sticky keys stick (stay pressed) after pressing them to enable an easier typing experience.
- Toggle keys – When activated, high pitch sounds indicate a key is enabled (Caps lock, shift, etc) and low pitch sound signals the keys are disabled.
- Mouse keys – Enable the cursor keypad on the keyboard to perform mouse actions from the keyboard.
- Bounce or denounce keys – For users who press a key multiple times by accident.
- Slow keys – These keys require a longer press for the key to register. This helps the typerists who accidentally press unintended keys.
- Keyboard repeat rate – Increase or decrease the keyboard repeat rate depending individual typing preference.
- Time out – (available in AccessX) sets a time limit when accessibility options disable.
- Mouse tracking and clicking options –
- Simulated mouse clicks – Enables actions such as when you stop moving the mouse it activates a click and when you hold down the left click this activates a double click.
- Mouse gestures – The on screen gestures performed by the mouse activate program options.
- On-screen keyboards – GNOME provides the option of an on-screen keyboard for the visually impaired who have issues seeing the keyboard. The official name is the GNOME On-Screen Keyboard (GOK).
- High-Contrast/Large Print Desktop Themes – Linux provides a high contrast mode option and several high contrast/large print desktop themese for visual assistance.
- Braille Display – Linux offers special software designed to produce Braille output for a special display. The BRLTTY project designed software for a braille display.
- Magnifier – Screen magnifies, such as kmag for KDE and GNOME, enlarges text where the mouse highlights.
- Visual alerts – Several desktop environments have built-in notification servers for visual alerts.
- Gestures for Logging In –
- Orca – This is a screen reader for GNOME.
- Emacspeak – Similar to GNOME and intended for the visually impaired.
- Other Assistive Software – Although not necessary, it’s intriguing to learn about the custom Linux distributions Sonar, Vinux, and Knoppix ADRIANE, which are designed for accessibility for those with disabilities.
Go to the Linux Documentation Project’s Accessibility HOWTO for further reading on accessibility options and software.