Brief History Of The Graphical User Interface Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Nowadays, it is hard to imagine a modern computer that doesnt have a Graphical User Interface. In fact, most of average users have probably never even had to deal with a computer in any other way than using a GUI.

The development of a system of windows, icons and the introduction of a mouse has led to the development of a Graphical User Interface. Before, many operations required the Linux command line to be used but the development of distributions designed for desktop computers has changed that.

The following report will try to explain what an actual Graphical User Interface is and touch on its brief history for Linux distributions. It will define what a desktop environment is and elaborate on the three most common ones, which are KDE, GNOME and Xfce.

Graphical User Interface

What is a Graphical User Interface?

The development of a system of windows, icons and the introduction of a mouse has led to the development of a Graphical User Interface. A user can interact with the system using a mouse and a keyboard by clicking on the graphical representation of text commands instead of actually typing the commands on a keyboard. A mouse is responsible for the movement of the mouse pointer indicating the desired position on the screen. Clicking buttons is linked to the area which holds the current cursor position. Typical GUI components are windows, menus, buttons, scroll bars, icons and tabs. Programs written for a specific operating system use its GUI elements, for example colours and the look and feel of windows and buttons.


- Ease of use thanks to a mouse, touchpad, trackball

- Easy installation of software

- Easy access to files and folders


- Occurrence of errors during operation

- High hardware requirements

Brief history of the Graphical User Interface in Linux

X1 (1984)

X becomes the first windowing system environment to offer true hardware and vendor independence.

X9 (1985)

X received colour support. Released under the MIT licence.

X10R3 (1986)

First version that achieved wide deployment.

X11 (1987)

X version that offered very powerfull functionality.

Xfree86 (1992)

One of the leading and most popular implementations of X. It can be considered the first offical GUI for Linux.

KDE Display Manager (1998)

Powerful system for an easy to use and visually attractive desktop environment.

GNOME Display Manager (1999)

GNOME is the default desktop environment for numerous Linux distributions like Ubuntu or Fedora.

Xgl (2006)

X server architecture which supports hardware acceleration of Xvideo, OpenGL and X applications and graphical effects by a compositing window manager.1

What is a desktop environment?

A desktop environment is a group of cooperating programs, used to perform basic computer operations in graphical mode. In Windows operating systems, only one desktop environment is supported, which is normally run at computer start-up. Linux gives us a bit more freedom by supporting environments that vary in appearance, available applications and system requirements. The three most common of these are:




A desktop environment normally consist of a window manager, file manager, programs and libraries for managing the desktop, and a set of themes. A traditional GUI in Linux is based on a separate window manager such as Fluxbox, FVWM, Enlightenment and WindowMaker. A window manager allows the user to control the location and appearance of individual application windows and to interact with the X Window System. The advantage of having an independent window manager is simplicity and reliability. In comparison to large desktop environments such as GNOME or KDE, independent managers use less hard disk space and memory. One of the disadvantages of having an independent window manager is the difficulty in obtaining a consistent interface for multiple applications that may use different keyboard shortcuts, have their copy and paste mechanisms or menus organised in a different way.

For every Linux desktop environment there is a common sequence of events:

1. The X window system (XFree86 or X.Org) is loaded (The X Window System creates windows within which a program can create an image. It handles input devices like the mouse or keyboard. It can only draw simple objects like polygons, ellipses; or display bitmaps. The X window system doesn't provide an interface, so no buttons, pull-down menus, scroll bars, etc; and doesn't provide any mechanisms for moving, resizing, closing windows).

2. Appropriate window manager is loaded (Metacity for GNOME, Kwin for KDE, Xfwm for Xfce). It allows the user to interact with the environment, run multiple applications at the same time, controls windows, panels and virtual desktops.

3. The actual desktop environment is loaded (GNOME, KDE, Xfce). Provides the user with tools, applets and applications.2

2. KDE, GNOME and Xfce

2.1. K Desktop Environment (KDE)

Initially called the Kool Desktop Environment, K Desktop Environment is a common choice for the inexperienced users because of its appearance. It is modelled on the windows operating system, which makes it relatively easy to use. KDE consists of the following:

- a nice looking desktop

- an integrated help system that provides easy access to information about how to use the environment and its applications

- consistent look and feel of all KDE applications

- standard menus, toolbars, keyboard shortcuts, colour schemes, etc.

- centralised and consistent environment configuration

- numerous useful applications.

The K Desktop Environment apart from its appearance offers the user a wide range of useful applications, which have been grouped into the following categories or simplicity:

- KDE-Base - basic environment components.

- KDE-Network - networking applications.

- KDE-Pim (Personal Information Managers) - address books, calendars, schedulers and organisers.

- KDE-Graphics - graphical applications.

- KDE-Multimedia - multimedia.

- KDE-Accessibility - contains mouse and keyboard settings that can help handicapped users.

- KDE-Utilities - compilation of various desktop utilities.

- KDE-Edu - educational programs.

- KDE-Games - simple games.

- KDE-Toys - includes applications for a world clock, phases of the moon, or the ability to track weather stations. 3

KDE is a very efficent environment because of its low memory "consumption" even when running applications like Konqueror, Firefox, Epiphany or OOWriter.

Illustration 1: Mageia 2 KDE desktop

2.2. GNOME (GNU Network Object Model Environment)

GNOME is a desktop environment based on the X Window System and the GTK+ and GDK widgets. It is supported by the majority of Unix systems and is used in many Linux distributions like Red Hat or Ubuntu.

GNOME is a part of the GNU project which was started in August 1997 by Miguel de Icaza. Its creators have put simplicity first therefore we won't find as many applications in GNOME as in KDE which doesn't necessarily mean that the environment is less usefull. Gnome is a user-friendly environment that enables easy setup. In consists of a panel (for starting applications and displaying their status), a desktop (where you can keep data and application shortcuts), a set of standard tools and applications, and a set of conventions to facilitate cooperation between applications and maintain mutual consistency. GNOME has a really clear and neat interface and a set of applications like:

- File manager - Nautilus (very easy to use with many features)

- Web browser - Web

- Email client and organiser - Evolution

- Text Editor - Gedit and AbiWord

- Spreadsheet tool - Gnumeric

- Graphics editor - GIMP

- Totem - Media player

and much more.4

Illustration 2: Mageia 2 GNOME desktop

2.3. Xfce (Xforms Common Environment)

Xfce is a lightweight, modular and portable desktop environment for Unix systems, inspired by CDE. It uses the GTK+ library, and isn't resource-hungry. All configuration files are written in XML, allowing drastic changes in the environment. Xfce is easy to use, nice looking and fast. It is composed of many complicated modules like the Xfwm window manager and Xffm file manager (currently replaced by Thunar). Combined, Xfwm and Xffm offer a fully functional environment. Xfce can also use modules of other desktop environments. This environment is mostly recommended for slower machines with memory limitations as it aims to be fast and low on system resources, while still being visually appealing and user friendly.5

Xfce offers a set of applications like:

- File manager - Thunar

- Web browser - Midori

- Text editor - Mousepad

- Orage - calendar

and more.6

Characteristics of Xfce are:

- simple and easy to use desktop

- possibility of performing configurations with the use of a mouse

- drag and drop

- integrated window, file and sound managers

- GNOME compliance module

- possibility of using themes (since it uses GTK+)

- fast, light and efficent.

Illustration 3: Xfce desktop (


An average computer user used to MS Windows operating systems may not be aware of alternative operating systems that offer a variety of desktop environments. In Linux we can decide whether we want to work in an environment with a very rich feature set (despite its resource usage) or one where simplicity is the main attribute and a simple window manager offers only the necessary features, such as access to the application menu or bookmarks of running programs.

KDE is directed more towards home users, while management tools and multimedia applications are especially popular among GNOME users and that environment gains its popularity in a more professional setting.

The choice between GNOME, KDE, Xfce or any other desktop environment is more a matter of choice of a distribution and personal preferences. Whether we prefer a simple and functional desktop or a more complicated, rich in features one, desktop environments in Linux would appeal to everyone.