X provides the basic components to build GUI environments: drawing and moving windows on the screen and interacting with a mouse or a keyboard. X does not say what the user interface should look like – different client programs handle this. Different X11-based environments have radically different designs. X is not a part of the operating system; instead, it is built as an additional program on top of the operating system.
Unlike display protocols from before, X was specifically designed to be used over network connections rather than on a display near the computer. X has network transparency: the machine where an application program (the client application) runs need not be the user's local machine (the display server).