Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL

Part II: TCP/IP Protocols > X Window/X Protocol: X Window System Protocol

Chapter 32. X Window/X Protocol: X Window System Protocol

Protocol Description The X Window System Protocol, also known as X Window or X Protocol, is a graphics architecture used as the graphical system on UNIX systems (primarily) and Linux systems. The X Window System is also used, less commonly, on VMS, MVS, and MS-Windows systems. X Window System (X Protocol) provides an inherently client/server oriented base for displaying windowed graphics. X Window provides a public protocol by which client programs can query and update information on X servers. X Window (X Protocol) allows processes on various computers on a network to display contents on display devices elsewhere on the network.

X Window System (X Protocol) defines the Client and Server roles as follows:

  • An X server is a program that runs on a user’s desktop to manage a video system including “interactive” I/O devices such as mice, keyboards, and some more unusual devices. The key functions are: 1) displays drawing requests on the screen. 2) replies to information requests. 3) reports an error in a request. 4) manages the keyboard, mouse and display device. 5) multiplexes keyboard and mouse input onto the network (or via local IPC) to the respective X clients. (X events) 6) creates, maps and destroys windows and 7) writes and draws in windows.

  • X client is an application program that often runs on another host which connect to an X Server in order to display things. The client is often on a powerful Unix/Linux box that would commonly be known as a “server.” The key functions are: 1) sends requests to the server. 2) receives events from server. 3) receives errors from the server.

X systems separate out the various components as separate subsystems. The key components in the X Window System (X Protocol) architecture are:

  • Window manager -- controls what happens when the mouse pointer is pointing outside of screen areas controlled by specific applications.

  • Program/File manager -- which is commonly a program that displays icons representing applications, and allows the user to run those applications.

  • Inter-application interfaces -- The standard scheme for X Window clients to communicate is commonly termed ICCCM. CORBA is also used to provide more sophisticated ways for X Window clients to communicate. The communications are based on TCP/IP network.

X Window System (X Protocol) has two primary versions: X10 and X11.

Protocol Structure The X Protocol has the following key communication messages between the Client and Server:


  • X clients make requests to the X server for a certain action to take place. i.e.: Create Window

  • To enhance performance, the X client normally does not expect nor wait for a response. The request is typically left to the reliable network layer to deliver.

  • X requests are any multiple of 4 bytes.


  • The X server will respond to certain X client requests that require a reply. As noted, not all requests require a reply.

  • X replies are any multiple of 4 bytes with a minimum of 32 bytes.


  • The X server will forward to the X client an event that the application is expecting. This could include keyboard or mouse input. To minimize network traffic, only expected events are sent to X clients.

  • X events are 32 bytes


  • The X server will report errors in requests to the X client. Errors are like an event but are handled differently.

  • X errors are the same size as events to simplify their handling. They are sent to the error handling routine of the X client. (32 bytes)


You are currently reading a PREVIEW of this book.


Get instant access to over $1 million worth of books and videos.


Start a Free 10-Day Trial

  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint