Email This Page
X Window/X Protocol: X Window System Protocol for Unix and Linux Graphic Display
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 run 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 - X Window/X Protocol: X Window System Protocol for Unix and Linux Graphic DisplayThe 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)
Related Protocols
IP , IPv6 , TCP , CORBA
Sponsor Source
X Window/ X Protocol is currently developed by X.ORG. (http://www.x.org ).
Reference
http://www.x.org/X11_protocol.html : The X Protocol. |