Since I always get confused about server and client in the X Window System, I decided to write this short post. Maybe it helps you aswell.

I usually get confused because X is network-capable. You’re working from a terminal on a mainframe. You would usually call the terminal the client and the mainframe the server. In this particular example, the X nomenclature is reversed.

X Server

The X server is where the display, the keyboard and mouse (usually called a seat) are. When you click on something or press a key, the X server sends a message to the X client.

This means: the X server runs on the computer where there’s GUI input/output.

X Client

The X client is the application telling the X server what to display and handling the commands coming from the server.

So two things:

  • The X server sends data interactively to the X client
    • usually a client commands a server interactively
  • The software in front of the user is the X server
    • usually the software in front of the user is the client

Hope this helps!