Language Selection

English French German Italian Portuguese Spanish

X Factor - understanding the X window system

Filed under
Software

X was originally created in the mid-80s by a research group from MIT. Its goal was to create a windowing system quite unlike any that had been conceived before. Thus X's design differs greatly from that of other windowing systems, having designed-in support for many elements which are unique ­ features which in fact are nowadays often being hacked into other windowing systems.

More often than not, such attempts are kludgy and don't work well, because they lack the ground-up desig X offers.

X went through a number of iterations because the original releases were not under a copyleft license. Every Unix developer created his own version, usually only modifying small parts, resulting in divergence into many incompatible versions, most of which fell under proprietary licences.

As a result, a standards body was eventually created to oversee the development of X. This body, known as the X Consortium, includes amongt its members IBM, Hewlett Packard and even Microsoft.

The X server has two important functions. Firstly, it speaks to the hardware; this means the X server needs to contain the driver for your graphics card, mouse, keyboard etc. Secondly, it speaks to X clients (every X program, from xterm to OpenOffice.org is an X client). Thus no X client ever talks directly to the hardware.

The most common channel is Unix Domain Sockets (UDS, a very fast mechanism for interprocess communication on Unix) which provides the highest speeds for local usage (for example where the X server and X clients are on the same machine). However it can also run over several network protocols, such as TCP/IP, allowing you to use your local X server to run a program on a distant machine over the Internet.

Luckily, working directly with the X protocol is seldom needed because X also provides xlib. Xlib is essentially a library of standard X tasks, such as basic drawing primitives and event handling. Xlib is written in C (with wrappers to many languages) and it in turn speaks to the X protocol for you. Xlib takes care of the low-level detail part of using the X protocol, such as establishing a connection over the appropriate channel and talking to the server.

Today the two most important widget sets in the Linux world are GTK and QT respectively. Their importance is greatly enhanced by the fact that these are the two toolkits on which the Gnome and KDE desktops are respectively built. Many other widget sets exist, and although none are as feature-rich as GTK or QT, they are still often used.

The two most important desktop environments today are of course KDE and Gnome, as most new Linux applications are built for one or the other. Currently KDE and Gnome basically match each other for features and which one a user prefers tend to be a matter of taste rather than a technical decision. Almost all Linux users use one of these two. Old-time Unix users and programmers often shun them however, preferring minimalist desktops.

Full Article.

More in Tux Machines

DisplayLink USB 3.0 Driver Now Available for Ubuntu 16.04 LTS, Fedora Linux

DisplayLink has recently updated their DisplayLink USB 3.0 driver for the latest Ubuntu Linux operating system launched by Canonical in the last week of April 2016, Ubuntu 16.04 LTS. Read more

Next Generation Gear Fit 2 to run Tizen Operating System, Leaked Images

The first Gear Fit product by Samsung ran a Real Time Operating System (RTOS) and this seems to have been a good decision for them for the first generation Gear Fit. Now, as the Gear Fit 2 is on the horizon, it looks like Samsung are ready to use the Tizen Operating System in this wearable device as well. According to industry sources Samsung will introduce the Gear Fit 2 next month in Korea running Tizen. The move to use Tizen extensively in its current and future wearable products demonstrates the commitment Samsung has to the OS in this space, as we now have a smartband as well as smartwatches !!! Another future wearable product that will be using Tizen, according to Industry watchers, is tentatively called “Activity Tracker”, which would suggest a low end fitness device. Read more

Sabayon ARM Project Brings the Gentoo-Based Distro to Raspberry Pi 3 and 2 SBCs

The developers of the Gentoo-based Sabayon GNU/Linux operating system have announced a new project, called Sabayon ARM, which aims to bring the distro to Raspberry Pi devices. Read more

Ubuntu BQ Aquaris M10 Review – Part 1: Hardware

The mobile market today has practically been what former Microsoft-then-Nokia-then-Microsoft-again exec Stephen Elop loved to refer to as a two-horse race. Android and iOS have been butting heads quarter after quarter, year after year. Despite their popularity and ubiquity, neither is truly perfect and neither can really meet everyone's needs and preferences. Which leaves a little wiggle room for other platforms (that includes Windows 10) to try and fill in the gaps. This time around we are going to take a closer look at one the newer challengers, Ubuntu Touch, as it is embodied in the recent bq Aquaris M10 tablet. How does it fare against the bevy of Android, iOS, and even Windows tablets scattered throughout the market? And does it have what it takes to not only stand tall and proud but also to survive? Read on to find our verdict. Read more