Life after X: Plans for getting rid of the X server in the future
lwn.net
lwn.net
In all the blog posts about replacing X, I don't see anyone even mentioning this feature of X. Or if they do, they say that its an irrelevant feature.
For example, read the whole of this thread: http://lists.fedoraproject.org/pipermail/devel/2010-November...
(1) They refer to vaporware features that the upstream developers have explicitly rejected: seriously, read the upstream mailing list.
(2) They refer to a two-tier world where some old X apps will still work remotely, while all new apps won't work.
(3) They refer to VNC and RDP as acceptable alternatives, even though these are inferior because they forward the whole desktop, require you to install and run an entire desktop on your remote server, refer to vaporware rootless RDP which doesn't exist on Linux, and don't deal with trivial items like pixel-size incompatibility between server and client.
Frankly, the user experience for remote desktop and remote application access with more recent versions of RDP (in Win2008, etc) is vastly superior to what's currently available for remote desktop and/or application access in Linux.
Now admittedly, I don't know of an RDP server for Wayland that implements those features (or any RDP server for Wayland really). But given that Wayland is still fairly young that's not surprising. There's certainly no compelling reason why a good RDP server can't be written for Wayland.
Perhaps the future tool will have a way to push ui data over the network, as well, and we won't lose those abilities.
A pair of commands as glue and a simple icon in the lauch bar can do marbelous things... I hope they find a way to get that features back.
What an odd, contrived, series of questions. With X anybody can use pretty much any app over the network by default. This one in particular is very odd:
how many of these applications care about network transparency
How many _applications_ care? Who knows! I care about network transparency. I want to run my app where my data is. That's pretty much the killer feature of X.
The balkanization of desktop Linux and Android makes no sense to me. The Surface Graphics Library and Surface Manager on Android needs to converge with desktop Linux. http://developer.android.com/guide/basics/what-is-android.ht...
The Linux windowing system is currently a gawd-awful mix of poorly mixed layers.
The problem is that any replacement might follow the dynamics that generated the present arrangement...
Yes, because the mix of X and Wayland being added to that is really going to improve the situation...
Like it or not, that system of layers is what makes linux feasible and viable in the first place. Each program/project doing specializing in one particular thing means each programmer specializes in one particular thing. If you want a monolith then you have plenty of other options, but linux is done this way by design, not accident.
I found the explanation in "Why X is Not Our Ideal Window System" ( http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.8.2... ) to be pretty thorough. Essentially, X defines an asynchronous protocol between client and server, since they may be running on different computers with hundreds of milliseconds of round-trip latency between them.
In most asynchronous systems like this there are race conditions that must be attended to. Mouse-ahead is one such problem. Imagine that you have it mapped into your muscle memory that you need to click a button to expose a menu, drop down about 40px, then release the mouse button to open a new file. In reality that sequence of events involves a few roundtrips between you and the X client (remember, this could be up to a second). What happens if your "I released the mouse button" signal is processed by the X client before it knows "a mouse release in this part of the screen denotes that he wants to open a file"? If you don't think about mouse-ahead beforehand, the answer is either your mouse release will be interpreted as happening as whatever is under the menu, or the mouse release will be lost forever; neither is good.
So pg. 6 of the linked article suggests a solution, a synchronous grab, in which you don't actually send the mouse release command until you know the client is ready for it. I'd suggest reading the first few pages of the article, it's one of the more cogent descriptions of a real race condition I've encountered.
Of course we can run X on top of something like Wayland, but we'll just have added another layer, and X will still sit on top for another 10 years.
X was overengineered for a SunOS 4 system with 8 MB of RAM (but it still ran there). But my systems are way larger than that now, and X has stayed roughly the same. Now I've got python crap running consuming more memory than X.