Understanding X Window System

X Window System provides us a framework through which we can build desktop environments. X is basically a Client-Server Window system. It consists of three parts:

  1. Client,
  2. Server and,
  3. a communication link between Client and Server.

Furthermore, with the help of X Window System, we can run multiple applications on our display at the same instant.

The server in X Window System – controls the display. Whereas, client is the application we are running.

As already mentioned, server controls the display. Apart from that, the input we provide through mouse or keyboard is sent to the client through a communication channel. That way, we can adjust the interface settings. Besides, same communication link is utilized for requests from client to display.

With the help of X Window System, we can make it work across a network. Besides, it is network independent. This ensures we get to run the client on a machine but the output is displayed on some other machine. There is just a communication link between the two machines.

In addition to, X Window System doesn’t need device specific commands to run. We can connect two systems which differ in architecture. Or, these two systems can also have different Operating System installed. Even it that case, X Window System would work.

X doesn’t provide a standard interface. Application designers have the choice here. So, that they can enhance user experience as per their requirements.

It is worth mentioning here that, the we sub-divide user interface as –

  1. application interface and,
  2. a window manager.

Application interface is specific to the applications we are running. We won’t have the same application interface for all the applications. Whereas, Window manager helps us manage the windows – move, resize etc.

Conclusion

Lastly, X Window System allows us to run an application on our System or on a network. It is network-independent, and doesn’t require device specific commands. It also gives us the flexibility to have a standard interface for our applications.