The Linux GUI Experience

The Linux GUI Experience

Sections: 1 | 2 | 3 | 4 | 5 | 6 | Index | Next >

The Linux GUI

Learning objective: Explain the role of the GUI and its relation to applications in Linux


Click on image to enlarge.

The Linux environment is mostly based on open source software. This has allowed many different ideas to emerge on how to develop software. Thus, in the Linux environment there are usually many solutions instead of just one from vendors like Microsoft. The Linux environment has many desktop environments to choose from and often they are not compatible. For many in the Linux community, diversity if the key to opportunity for new ideas.

X Windows

The X Window System is a computer software system and network protocol that provides a graphical user interface (GUI) for networked computers. It creates a hardware abstraction layer where software is written to use a generalized set of commands, allowing for device independence and reuse of programs on any computer that implements X. It provides windowing on computer displays and manages keyboard and pointing device control functions. In its standard distribution, it is a complete, albeit simple, display and human interface solution, which also delivers a standard toolkit and protocol stack for building graphical user interfaces on most Unix-like operating systems and OpenVMS, and has been ported to many other contemporary general purpose operating systems. X provides the basic framework, or primitives, for building such GUI environments: drawing and moving windows on the screen and interacting with a mouse and keyboard. X does not mandate the user interface — individual client programs known as window managers handle this. As such, the visual styling of X-based environments varies greatly; different programs may present radically different interfaces. X is built as an additional (application) abstraction layer on top of the operating system kernel. [Wikipedia]

GNOME desktop environment

GNOME is a desktop environment. It is a graphical user interface that runs on top of a computer operating system composed entirely of free and open source software. It was created by two Mexican programmers, Miguel de Icaza and Federico Mena. It is an international project that includes creating software development frameworks, selecting application software for the desktop, and working on the programs that manage application launching, file handling, and window and task management. GNOME is designed around the traditional computing desktop metaphor. Its handling of windows, applications and files is similar to that of contemporary desktop operating systems. In its default configuration, the desktop has a launcher menu for quick access to installed programs and file locations; open windows may be accessed by a taskbar along the bottom of the screen, and the top-right corner features a notification area for programs to display notices while running in the background. However, these features can be moved to almost any position or orientation the user desires, replaced with other functions or removed altogether. [Wikipedia]

KDE desktop environment

KDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Microsoft Windows, Solaris, and Mac OS X systems. It is best known for its Plasma Desktop, a desktop environment provided as the default working environment on many Linux distributions, such as openSUSE, Mandriva Linux, Kubuntu, Red Flag Linux, and Pardus. The goal of the project is to provide basic desktop functions and applications for daily needs as well as tools and documentation for developers to write stand-alone applications for the system. In this regard, the KDE project serves as an umbrella project for many standalone applications and smaller projects that are based on KDE technology. These include KOffice, KDevelop, Amarok, K3b and many others. KDE software is based on the Qt framework, although it also has support for programs based on GTK, as well as the GTK-based visual themes. The original GPL version of this toolkit only existed for the X11 platform, but with the release of Qt 4, LGPL versions are available for all platforms. This allows KDE software based on Qt 4 to also be distributed to Microsoft Windows and Mac OS X. [Wikipedia]

Xfce desktop environment

Xfce (pronounced as four individual letters) is a free software desktop environment for Unix and other Unix-like platforms, such as Linux, Solaris and BSD. It aims to be fast and lightweight, while still being visually appealing and easy to use. The current version, 4.6, is modular and reusable. It consists of separately packaged components that together provide the full functionality of the desktop environment, but which can be selected in subsets to create the user's preferred personal working environment. Xfce is mainly used for its ability to run a modern desktop environment on relatively modest hardware. Xfce provides a development framework for applications. Other than Xfce itself, there are third-party programs which use the Xfce libraries, most notably the Mousepad text editor, Orage calendar and Terminal. One of the services provided to applications by the framework is a red banner across the top of the window when the application is running with root privileges warning the user that they could damage system files. [Wikipedia]

File association

Linux-based GUIs, such as KDE and GNOME, support MIME type-based associations. For example, the MIME type text/plain might be associated with a text editor. An Internet media type, originally called a MIME type after MIME (Multipurpose Internet Mail Extensions) and sometimes a Content-type after the name of a header in several protocols whose value is such a type, is a two-part identifier for file formats on the Internet. The identifiers were originally defined in RFC 2046 for use in e-mail sent through SMTP, but their use has expanded to other protocols such as HTTP, RTP and SIP. A media type is composed of at least two parts: a type, a subtype, and one or more optional parameters. For example, subtypes of text type have an optional charset parameter that can be included to indicate the character encoding, and subtypes of multipart type often define a boundary between parts. Types or subtypes that begin with x- are nonstandard (they are not registered with IANA). Subtypes that begin with vnd. are vendor-specific; subtypes in the personal or vanity tree begin with prs.. MIME is short for Multipurpose Internet Mail Extensions, a specification for formatting non-ASCII messages so that they can be sent over the Internet. Many e-mail clients now support MIME, which enables them to send and receive graphics, audio, and video files via the Internet mail system. [Wikipedia]

In GNOME, the MIME list can be found in "/etc/gnome/defaults.list" file. It is an ASCII file that can be edited provided you have the permissions necessary. A sample content may look similar to the ones listed below. If the file type is an ".mp3" file, the default application is the Totem media player which runs on the desktop.

audio/x-mp3=totem.desktop
image/jpg=eog.desktop
application/msexcel=openoffice.org-calc.desktop
application/msword=openoffice.org-writer.desktop

Thinking: Why have so many shells?

Key terms: GNOME, KDE, MIME, X Windows, Xfce, shell

Resources:
To maximize your learning, please visit these Web sites and review their content to help reinforce the concepts presented in this section.

Quick links:
X Windows @ Wikipedia
GNOME @ Wikipedia
KDE @ Wikipedia
Xfce @ Wikipedia
File association @ Wikipedia
MIME @ Wikipedia
Comparison of X window managers @ Wikipedia

Embedded Resources

Notes on navigation: Click inside the frame to navigate the embedded Web page. - Click outside the frame to navigate this page to scroll up/down between the embedded Web pages. - Click on the frame title to open that page in a new tab in most browsers. - Click on the the "Reload page" link to reload the original page for that frame.

X Windows @ Wikipedia | Reload page | If frame is empty, click on the link to view the page in a new tab or window

GNOME @ Wikipedia | Reload page | If frame is empty, click on the link to view the page in a new tab or window

KDE @ Wikipedia | Reload page | If frame is empty, click on the link to view the page in a new tab or window

Xfce @ Wikipedia | Reload page | If frame is empty, click on the link to view the page in a new tab or window

File association @ Wikipedia | Reload page | If frame is empty, click on the link to view the page in a new tab or window

MIME @ Wikipedia | Reload page | If frame is empty, click on the link to view the page in a new tab or window

Comparison of X window managers @ Wikipedia | Reload page | If frame is empty, click on the link to view the page in a new tab or window

Sections: 1 | 2 | 3 | 4 | 5 | 6 | Index | Next >