Danilo Tedeschi, Laercio de Oliveira Junior, Luiz Miyazaki
The X Window System, also called X11 or just X, is a windowing system for Unix-Linux systems.
It does not offer a complete GUI (graphical user interface to the user) by itself. The concept of X running in client / server model, initially can be confusing and not clear at first. We have two possibilities, the XServer and XClient may be the same
machine or not. The difference is that when they are on the same machine, the XClient is just an application using the X library
communicating with the XServer, otherwise the communication between them will be made by the use of TCP sockets.
In the picture above we can see some X layers that enable supplying a complete GUI to the user. One of them that will be demonstrated in the codes is the XLib library, where we have routines that are used to communicate with the XServer. In the other hand, Xlib does not offer any tool to work with buttons, because of this it is necessary that we have libraries like Intrinsecs and to offer a complete GUI we still need some other layers. Another example of a X layer is Motif that provides a standard environment, and allows Unix-Linux
users to add or resize icons inside a window. Something important to say is that we have the window manager that is not part of the X11,
which is an application that enables the creation of new windows and the movement of windows on the screen.
We can see that the X11 is a system that aims to hide the "ugly" part of the Operating System and because it
consists of layers and separeted programs, it makes it portable and flexible.