[Prev][Next][Index][Thread]
Re: The X spaghetti was Re: Linux vs. Microsoft
On Wed, 16 Oct 1996 17:37:17 +00:00, you wrote:
>Hi!
>
>> From: moshec@netvision.net.il (Moshe Cohen)
>
>> What is the difference between an X server for these platforms and an X terminal
>> emulator?
>>
>> Since the GUI is part of the OS for Windows, an X server must run on top of it
>> (or else it is not really on Windows) and therefore it may be called an
>> emulator.
>
< long text skipped>
>
>And that's about it. I'm not an expert in the subject so I hope I
>didn't make many mistakes.
>Comments? Are my technical/historic entries correct? Did I
>miss/mangle anything? How about putting this in some type-o-FAQ?
>
I'm sorry but you made quite a few basic mistakes. My original question (above)
to you was based on a claim you made which I now think was wrong since you mixed
up some terms.
Lets me set things straight for the benefit of anyone interested.
The X server is not a library at all. It is a process (a running computer
program) that is in charge of the display, keyboard, mouse and other devices
of a machine. It serves requests for drawing on the screen and it generates
events on user interaction.
In most client-server systems, the server is the heavy process in the center.
In X it is the opposite, the server is the process at the end user's machine.
An X client has nothing to do with an X terminal. An X client is just an
application that uses the display (e.g. xterm (a terminal emulator, also not
to be confuse with X terminal)), xclock, Netscape on X, ...).
The X server can run on any machine with the proper graphic hardware, and the X
client can run on any other machine on the network or on the same machine
running the server.
(BTW, when you run xinit you are running the server, not any client. That's why
the ascii screen changes to graphic).
The communication between the client applications and the X server is done
through the network using the so called X protocol.
The X library (Xlib), is just a C interface to this protocol for the client
applications to link with.
Xt/ Motif are GUI libraries written on top of Xlib. There are also other less
popular toolkits. I don't want to get into this subject but just note that Motif
is on top of XT, but there are other toolkits that can be on top of Xt).
Diagram
Application (usually a GUI app) -- THE CLIENT (calls Motif and Xt and Xlib)
|
Motif (calls Xt and Xlib)
|
Xt (calls Xlib)
|
Xlib (generates X protocol request and listens to X protocol messages)
||
||
|| Network connection with X protocol
||
||
Xserver (interacting with display and user IO hardware)
(My main point in the previous discussion that this network architecture is
costly, and not utilized today so much, because most users have their own
desktop that runs both the client applications and the X server (see "X
terminal" below))
What is an X terminal then? An X terminal is a piece of hardware that has a
keyboard, mouse and graphic display and a processor that runs only an X server,
nothing else. It is a special purpose computer with no OS running.
Ten years ago they were quite popular because they were cheaper than a
workstation, so you could have a network with a few (then expensive)
workstations and a lot of cheap X terminals.
Today they are in the junk room, because computer prices are so low.
End of explanation.
----
Going back to my misguided question regarding X servers on Windows vs.
X terminal emulation on WIndows.
I don't think there is a thing called X terminal emulators.
Products like Exceed, Reflection X and others implement an X server
on top of Windows. These product are useful in networks consisting
of both Windows machines and Unix machines. They let the guy with the
Windows PC run Unix X applications on the Unix machines, while staying
at his own desk. Without it all he could do is rlogin as a dumb terminal.
When you run such a product, you are in effect using your PC as an X terminal
(for the duration).
Therefore, I do not think there is another creature called X terminal emulator.
There is, of course the famous X (terminal emulator) , as opposed to
(X terminal) emulator, it is 'xterm' and its variants.
--------
Moshe Cohen -- Software Development and Consultancy
17/10 Akiva St., Raanana 43260, Israel.
Tel: 972-9-989404. Fax: 972-9-420432.
Email: moshec@netvision.net.il URL: http://www.dezines.com/moshec/
Follow-Ups:
References: