X Server and X Clients
An X Server is a software that manages the graphical screen in a X Window System. The client/server relationship is not normally as thought on X because the role of client and server in these systems are generally inverted.
The server on an X Window System is usually running where the client is work. For example, on an X terminal, the X server is directly attached to the terminal. This is easy to understand if you think that the server on a graphical system is directly attached to the screen. The screen, of course, has to be where the user is. Therefore, the X server is generally on the client machine, and not vice versa.
On the other hand, the clients for an X system can be either running locally or remotely.
For example, suppose that a graphical package such as the Gimp is running using a client/server configuration. The machine where the software runs is kept on a remote location. The user has access to the machine only through the network.
In that situation, the remote software is using the X server installed in the local machine as a client. The X server system will be able to receive remote calls from the software running on the remote machine. The requests to draw windows, for example, will be sent from the remote machine (the client) to the local machine (the server).
Not only this, but a the X server in the remote machine can receive connections to as many clients as allowed by the local administrator. Therefore, the X server can be contacted by processes running in many remote machines, and presented using the same local X server.
The concept of X client and X server is one of the great advantages of the X system. It allows the seamless integration of software running on different computers. It is the ideal way to run software in a distributed system such as UNIX.
In the simple case where program are run in the local machine, though, the X server and X clients are just local processes. They interact through the X protocol API, but they are still separate processes.
The separation between server and clients in the X Window System make it easier to create robust programs, that are easy to manage and upgrade.
Post a comment