X application programs are the clients that request the server to do the necessary tasks, such as drawing windows, getting keyboard and mouse input, etc. Hardware, device dependent details are hidden from the client by the server. Clients communicate with servers using a network connection that conforms to a protocol called the X protocol . This means that client and server can run on the same computer using an internal pseudo-network, or on different computers, provided there is a network connection between them.
Any client can use any server, provided both client and server use the X protocol.
Furthermore, several clients can use a single server and a single client can use several servers. Normally, PCs and the Macintosh run only the server, as do dedicated pieces of hardware known as X terminals , some of which load the server software from hardware or firmware. Typically, clients run on workstations or larger computers.