Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It always felt wrong to me because the remote computer acted in response to your actions. You click on something and it responds. I'm sure there were valid technical reasons for it but commercially it must have been disaster.


You're thinking of it in terms of the application, not the display. The app was running on the app server, which connects to the X server as an X client.


I'm thinking more in terms of the person sitting in front of the computer rather than than the app. They are the ultimate 'client' who is served by the computer in front of them. That computer (thin client) is the client of the application server and so on down the line to the database and whatever other services (servers) are called.

I can't really see a solid line of differentiation between an 'X server' and a browser. Would you call the browser an HTML/Javascript server?


You're using loose terminology that a system administrator might use, where "clients" and "servers" are machines.

X Windows is using computer science jargon instead, where "client" and "server" are words that describe roles that two programs might play in a specific kind of relationship with each other.


> You're using loose terminology that a system administrator might use,

How dare you insinuate that I might be a system administrator. Or that system administrators really don't know much beyond their domain. I won't stand for it!

I'm sure 'X windows' is technically a server in some the strictest sense. Technically I guess the client app issues a request for user input which is served by the X server. To extend that model the X server issues a sub-request to the user who fulfils that request. To me this seems to twist the terminology to the point where the user is just another service available to the program. It reflects a view of reality that does not appeal to ordinary end users and I believe this limited the success of X windows and unix/linux on the desktop.


No, because the browser initiates each connection.


Just as a user running an X server initiates the clients to display on it.


Actually no. The remote app server initiates clients to run on it. So the remote one is the client, and the local one is the server.


Actually no, you're confusing application serving (a term used in non X environments) with display serving (which X uses).

X display servers (which we both agree are local) do not initiate clients to display on them, end users do this work - you can see this quite easily by initiating a client when you don't have an X display - the app will look for a $DISPLAY variable and attempt to connect to that display. The app is launched first by the user, and connects to the display server.


The distinction here is between starting a process and connecting to a listener to request services. Starting a process is not one of the two roles in the client/server relationship.

http://en.wikipedia.org/wiki/Client-server


Yes, but starting the application is done via a non-X means (typically SSH listening) before the app then seeks a listening display to connect to.


I'm not sure why they decided the display should be the server and the programs be the clients. It might be because the other way around is to have one client, the display, access many servers, the programs. That seems even less right to me. (On the other hand, that would make it easier to let a friend over the network look into one of your windows.)

Commercially speaking, X11 was a great success. It is the de facto windowing system for UNIX and UNIX-like systems despite all of the horrors it brings.


Being the defacto windowing system for a platform that has very little desktop market share isn't a great success.


Being the defacto windowing system for the most popular operating system family is a great success.

And if you believe Windows is the most popular OS family, then being the defacto windowing system for the second most popular OS family is still a great success.


Actually the defacto windowing system for desktop Unix is OS X's window manager, based on Quartz Compositor.


I wasn't referring to desktop systems exclusively, but if I were then you'd have been right.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: