Networking | Programming | Security | Linux | Computer Science | About

The Linux graphical user interface

The X Window System is the standard GUI for Unix systems. It was originally developed at MIT in the 1980s with the goal of allowing applications to run across a range of Unix workstations from different vendors. X is a powerful graphical environment supporting many applications. Many X-specific applications have been written, such as games, graphics utilities, programming and documentation tools, and so on.

Unlike Microsoft Windows, the X Window System has built-in support for networked applications: for example, you can run an X application on a server machine and have its windows display on your desktop, over the network. Also, X is extremely customizable: you can easily tailor just about any aspect of the system to your liking. You can adjust the fonts, colors, window decorations, and icons for your personal taste. You can go so far as to configure keyboard macros to run new applications at a keystroke. It’s even possible for X to emulate the Windows and Macintosh desktop environments, if you want to keep a familiar interface.

The X Window System is freely distributable. However, many commercial vendors have distributed proprietary enhancements to the original X software. The version of X available for Linux is known as XFree86, which is a port of X11R6 (X Window System Version 11, Release 6) made freely distributable for PC-based Unix systems, such as Linux. XFree86 supports a wide range of video hardware, including standard VGA and many accelerated video adapters.

XFree86 is a complete distribution of the X software, containing the X server itself, many applications and utilities, programming libraries, and documentation. It comes bundled with nearly every Linux distribution. Standard X applications include xterm (a terminal emulator used for most text-based applications within an X window), xdm (the X Session Manager, which handles logins), xclock (a simple clock display), xman (an X-based manual page reader), and more. The many X applications available for Linux are too numerous to mention here, but the base XFree86 distribution includes the “standard” applications found in the original MIT release. Many others are available separately, and theoretically any application written for X should compile cleanly under Linux.

The look and feel of the X interface are controlled to a large extent by the window manager. This friendly program is in charge of the placement of windows, the user interface for resizing, iconifying, and moving windows, the appearance of window frames, and so on. The standard XFree86 distribution includes several window managers, including the popular fvwm2. fvwm2 provides a number of advanced features, including a virtual desktop: if the user moves the mouse to the edge of the screen, the entire desktop is shifted as if the display were much larger than it actually is. fvwm2 is greatly customizable and allows all functions to be accessed from the keyboard as well as from the mouse.

The XFree86 distribution contains programming libraries and includes files for those wily programmers who wish to develop X applications. Various widget sets, such as Athena, Open Look, and Xaw3D, are supported. All the standard fonts, bitmaps, manual pages, and documentation are included. PEX (a programming interface for 3D graphics) is also supported, as is Mesa, a free implementation of the OpenGL 3D graphics primitives.

For more details on Xfree86, take a look at their website which includes many other resources related to the Linux X Windows system.

Published on Thu 05 January 2012 by Dave Wilson in Linux with tag(s): linux gui xfree86