X Window System

X Window

Introducing the X Window System

X Window is the underlying management system for most Unix and Linux GUIs. It takes an entirely different architectural approach than a Microsoft Windows system, in that the X Window system is set up in a client-server architecture similar to VNC. In this model, the X server communicates with various client programs. The server accepts requests for graphical output (windows) and sends back user input (from keyboard, mouse, or touchscreen).

When reading the X Window documentation, you will find that they use the terms server and client in the reverse of what would seem intuitive, meaning the server is where the display is being generated, not the remote machine to which you are connecting. The server in this context may function as an application displaying to a window of another display system, a system program controlling the video output of a PC, or a dedicated piece of hardware. This client-server terminology (the user’s terminal being the server and the applications being the clients) often confuses new X users. But X takes the perspective of the application, rather than that of the end-user. Since X provides display and I/O services to applications, it is a server. Applications use these services; thus they are clients.

Most current implementations of the X Window system are based on the X.Org foundation, which is the open source implementation of the X11 protocol. A closely related project is the XFree86 Project, which is the open source version of the X Window system (which uses the X11 protocol). X11 is the protocol that is used to transfer information about the GUI between the server and the client. The end result of these design decisions is that much like Windows’ built-in terminal server support, two Linux systems can remote access each other via a GUI virtual desktop.

You can configure the X Window System to permit connections from remote systems without any third-party software. While this works, the evolution of desktop Window Managers and common software packages has rendered this method inefficient. A much more robust way to accomplish the same thing is using NX technology developed by NoMachine, which is a highly optimized process and protocol to make X sessions available remotely. The NoMachine remote desktop is available for free (client and server) from the official NoMachine website. Commercial versions are also available. In December 2010, NoMachine announced that forthcoming NX releases (4.0 and up) would be closed source. Fortunately, an open source version of the NX server is called FreeNX, and is available from the official FreeNX website. FreeNX does not support relaying sounds to the client, while the NoMachine server does.

External Links:

X Window System on Wikipedia

NX technology on Wikipedia

The official NoMachine web site

The official Free NX web site

© 2013 David Zientara. All rights reserved. Privacy Policy