From: Robert Heller on
At Wed, 27 Jan 2010 13:51:45 -0800 "Greg Russell" <grussell(a)invalid.org> wrote:

>
> In news:4b609da8$0$1657$742ec2ed(a)news.sonic.net,
> Stan Bischof <stan(a)newserve.worldbadminton.com> typed:
>
> >> I am confused. When running "X" windows, is the
> >> terminology reversed? By chance is the computer
> >> hosting the applications called the client and
> >> the remote computer viewing the applications called
> >> the server? Is so, why is this?
> >
> > yes- it is backwards
>
> No it's not, your thinking is what's backwards. The X display server is
> serving the display to the clients that need one.

Often what is happening is that there are two *logical* servers and two
*logical* clients: one 'server' is serving the display/keyboard/pointer
(X server) and the other server is serving the 'cpu+RAM' (serving
applications):


[X-Server] [Compute (application) Server]

O display \ /
/|\ keyboard |============| Processor+memory
/ \ pointer / \

(Human) [Compute [X Client]
Client]

The UNIX operating system supports the idea of a given computer as
having both a 'client' role and a 'server' role. Including the idea
that both the 'client' *process* and the 'server' *process* can be
running on the same computer. This is sometimes a hard thing for many
users to get their head around. The X11 GUI System is built around the
idea that the graphics system is just another *server* process and all
of the graphic applications are just client processes, even when they
are running on the *same* computer as the X server process. This would
include a Linux box that does not even have a NIC! It is just using
either a UNIX socket or the loopback network device (lo @ 127.0.0.1).

The GUI subsystems in MS-Windows and MacOS Classic (I am not sure what
MacOSX is doing) are not really runing as networked deamon processes and
so don't follow this model -- generally, to run a GUI application under
MS-Windows, you have to run the application on the machine whose display
you want to use. (Yes, there is MS's 'remote terminal' thingy and VNC,
but these don't really work the way X11's server works.)

>
>
>

--
Robert Heller -- 978-544-6933
Deepwoods Software -- Download the Model Railroad System
http://www.deepsoft.com/ -- Binaries for Linux and MS-Windows
heller(a)deepsoft.com -- http://www.deepsoft.com/ModelRailroadSystem/

From: Florian Diesch on
Stan Bischof <stan(a)newserve.worldbadminton.com> writes:


> I don't want to get into semantics, but virtually all
> computer users even back in the old Unix workstation
> days would tell you that the "client" is what
> you are sitting at and the "server" is the big hunk
> off in the computer room. X reverses this
> paradigm, hence is "backward".

We are talking about server software here, not server hardware.

The X server is a program that waits for other programs to connect and
then provides some services to them. Software like that has always been
called "server".



Florian
--
<http://www.florian-diesch.de/software/pdfrecycle/>
From: J G Miller on
On Thu, 28 Jan 2010 13:34:53 +0000, The Natural Philosopher wrote:

> Xserver is however the terminal display.

No, the X server is the software (Xorg, Xfree86, Xi server etc)
and the terminal display is part of the hardware, along with the
graphics card.

> Xclient is the remote program that you connect to that tell it WHAT to
> display.

No, xclient is the program that you execute either on a local or a remote
host and which you instruct via either the DISPLAY variable or -display
flag as to which X11 server it should connect and send its X11 output.
From: The Natural Philosopher on
J G Miller wrote:
> On Thu, 28 Jan 2010 13:34:53 +0000, The Natural Philosopher wrote:
>
>> Xserver is however the terminal display.
>
> No, the X server is the software (Xorg, Xfree86, Xi server etc)
> and the terminal display is part of the hardware, along with the
> graphics card.
>
>> Xclient is the remote program that you connect to that tell it WHAT to
>> display.
>
> No, xclient is the program that you execute either on a local or a remote
> host and which you instruct via either the DISPLAY variable or -display
> flag as to which X11 server it should connect and send its X11 output.

I cant see that reads any differently from what I said.

From: PoD on
On Fri, 29 Jan 2010 04:13:26 +0000, The Natural Philosopher wrote:

> J G Miller wrote:
>> On Thu, 28 Jan 2010 13:34:53 +0000, The Natural Philosopher wrote:
>>
>>> Xserver is however the terminal display.
>>
>> No, the X server is the software (Xorg, Xfree86, Xi server etc) and the
>> terminal display is part of the hardware, along with the graphics card.
>>
>>> Xclient is the remote program that you connect to that tell it WHAT to
>>> display.
>>
>> No, xclient is the program that you execute either on a local or a
>> remote host and which you instruct via either the DISPLAY variable or
>> -display flag as to which X11 server it should connect and send its X11
>> output.
>
> I cant see that reads any differently from what I said.

Scenario A:
You are sitting in front of a web browser. You cause it to send a
request to a server (a web server). The server sends back a picture eg.
a JPEG and the client displays it.

Scenario B:
You are sitting in front of an X client. You cause it to send a
request to a server (eg. a photo browser). The server sends back a
picture eg. a JPEG and the client displays it.