The X Windowing System

From Computing and Software Wiki

(Difference between revisions)
Jump to: navigation, search
(New page: == What is the X Windowing System? == == How to use the X Windowing System == == Client Server Relationship == ---- === Protocols === ---- === Designing an X Window Application=== ...)
Line 1: Line 1:
-
 
== What is the X Windowing System? ==
== What is the X Windowing System? ==
Line 6: Line 5:
== How to use the X Windowing System ==
== How to use the X Windowing System ==
-
 
-
== Client Server Relationship ==
 
----
----
-
=== Protocols ===
+
= Client Server Relationship =
 +
 
 +
== Communication Protocols ==
 +
[[Image:Protocols.GIF]]
 +
 
 +
The basic idea behind the communication protocols between clients running the logic of the application and hosts displaying the application is to provide a way for the client to send information about what needs to be displayed on the host to the host while the host will send any input from the user, such as mouse clicks and keyboard strokes, back to the client for the client to interpret. 
 +
=== Basic Protocols ===
 +
* The X client makes a request, which is 4 bytes long, for a certain event to happen on the host.  This event can be anything from creating a window to changing what’s being displayed in a window to closing the window.  In order to make this process more efficient, there is no response sent from the host to the client saying that the request has been successfully executed.  It is left to the network layer, which can be unreliable, and is assumed to get the packets to the host.  Some updates will not make it from the client to the host and hence there can be some strange screen artifacts which occur as some requests are processed and others aren’t.
 +
* There are some requests for which the X host must respond to the client, also in multiples of 4 bytes, with information.  When an expected event occurs, such as a mouse click or key stroke, the X host must send information about that event back to the client.  Again, in order to keep network traffic to a minimum, the X host will only send information back to the client about expected events.  However, the expected event which occurred may have been on a different part of the X Windowing hosts screen.  This can lead to some major security breaches which the user of the X Windowing system could be unaware of.  For example, if the user is expected to enter a password in one application that’s running on the user’s host, the keystrokes of that password could be “intercepted” by another application running on the host which would then be sent back to whatever client machine is running the other application.
 +
* There is one last message which is sent between X clients and X hosts.  If there is any error on the X host, there needs to be a way for the host to tell the client that the error occurred.  This is taken care of by the error response message.  This message is the same size as a normal event response message, but is sent to the error handling routine of the X client.
 +
 
----
----

Revision as of 22:39, 13 April 2008

Contents

What is the X Windowing System?

How to use the X Windowing System


Client Server Relationship

Communication Protocols

Image:Protocols.GIF

The basic idea behind the communication protocols between clients running the logic of the application and hosts displaying the application is to provide a way for the client to send information about what needs to be displayed on the host to the host while the host will send any input from the user, such as mouse clicks and keyboard strokes, back to the client for the client to interpret.

Basic Protocols

  • The X client makes a request, which is 4 bytes long, for a certain event to happen on the host. This event can be anything from creating a window to changing what’s being displayed in a window to closing the window. In order to make this process more efficient, there is no response sent from the host to the client saying that the request has been successfully executed. It is left to the network layer, which can be unreliable, and is assumed to get the packets to the host. Some updates will not make it from the client to the host and hence there can be some strange screen artifacts which occur as some requests are processed and others aren’t.
  • There are some requests for which the X host must respond to the client, also in multiples of 4 bytes, with information. When an expected event occurs, such as a mouse click or key stroke, the X host must send information about that event back to the client. Again, in order to keep network traffic to a minimum, the X host will only send information back to the client about expected events. However, the expected event which occurred may have been on a different part of the X Windowing hosts screen. This can lead to some major security breaches which the user of the X Windowing system could be unaware of. For example, if the user is expected to enter a password in one application that’s running on the user’s host, the keystrokes of that password could be “intercepted” by another application running on the host which would then be sent back to whatever client machine is running the other application.
  • There is one last message which is sent between X clients and X hosts. If there is any error on the X host, there needs to be a way for the host to tell the client that the error occurred. This is taken care of by the error response message. This message is the same size as a normal event response message, but is sent to the error handling routine of the X client.



Designing an X Window Application

References

External Links

See Also

Manselnj

Personal tools