Every newcomers to X think that servers and clients are reversed because they are

Marty Jack martyj19 at comcast.net
Wed Apr 20 17:25:30 PDT 2011



On 04/20/2011 06:37 PM, Samuel Thibault wrote:
> Paul Dufresne, le Wed 20 Apr 2011 18:21:05 -0400, a écrit :
>> User_Group       Authorized X application
>> ----------------      --------------------------------
>> secretary        LibreOffice
> 
> Which instance of LibreOffice, with which Unix rights?
> 
>> -I would rename the program we used to call the X server, to be called
>> the X Client, and make it be a program similar to xdm
> 
> Then use the XDMCP protocol, it's meant for this kind of things.
> 
>> When you would start the X client, you would be asked to enter your
>> username, password, and select the X server you want to connect to.
> 
> That's xdm
> 
>> After connecting and authenticating to the X server with your
>> username, the server would send you the list of authorized X
>> application you are allowed to run, depending on the user group the
>> username is in. Then, for each application you choose to open, the X
>> client would open a new window to speak with this X application on a
>> new port. It would also send a request to the X server, to request it
>> to launch the X application on the host where the X application is.
> 
> That can be built over the existing X server. What the X server provides
> is access to a screen/keyboard/mouse. You can do whatever you want over
> it and name them clients/servers, the basic principle remains: there's
> some piece of software that knows how to driver a video board. You want
> to display various things on it coming from various applications. You
> thus need to manage multiplexing here. Thus what's called a server.
> 
> Again, you can throw the pile of software you prefer over it. As said
> earlier in the thread, machines which merely run xdmcp really look like
> clients like you describe. But the applications that get run connect to
> an X server to get displayed.
> 
> Samuel
> _______________________________________________
> xorg at lists.freedesktop.org: X.Org support
> Archives: http://lists.freedesktop.org/archives/xorg
> Info: http://lists.freedesktop.org/mailman/listinfo/xorg
> Your subscription address: martyj19 at comcast.net
> 

This is pretty much the way things called X Terminals used to work.  They ran a piece of software called a chooser, which took a username, password, and host and used XDMCP to authenticate and connect.  I believe you can still do this with a properly configured server and display manager.  The desktop environment displays the menu of things you are allowed to run.  Nothing stops you from writing a desktop environment that restricts that by some sort of per-user policy.

It makes zero difference if you happen to call a particular process a client or a server.  After 25 years it is very unlikely anything substantive needs to or is going to change about the way X works.

In networking, we say that a process that listens on a socket and accepts connections is a server.  We say that a process that connects to that socket is a client.  That is how the terminology got to be the way it is.  If you want to claim it is an implementation detail and you don't like the terminology, fine, no problem.



More information about the xorg mailing list