Proxy Servers Lighten Up X
An anonymous reader writes "LinuxDevices.com is reporting on a compression and differential proxy scheme for X that makes it practical to xhost rich applications like Mozilla or a whole UNIX desktop over a 9.6Kbps connection (think cell phone with GSM modem). The company developing NX has a neat test drive set up -- and it is way zippier than VNC. There'll be a paper about it at the next LinuxKongress in Saarbrucken, Germany, and a call is out to OSS programmers to build on the GPL'ed NX library."
Sounds great, though how much use would conventional and current ways of treating X applications scale down to a relatively tiny mobile screen? Seems like there has to be some changing of the interfaces of the software as well as the nuts and bolts behind the scenes.
just how useful will mozilla be to me on my cell phone with its miniscule display, or any other full blown regular GUI based PC app for that matter?
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
(Sorry, but I'm not able to read the PDF right now, and there doesn't appear to be a whole lot of technical info on the web site.)
So can anyone address how this new product is any different or better than Low Bandwith X? LBX is also a proxy server that caches a lot of information local to the application cut down on traffic across the slow link to the actual X server. I've used it to run programs like XEmacs and XTerm across 56K links and it works very well. It's less useful at graphics-intensive programs like Gimp.
Network transparancy is one of the shortcomings of X11 -- I mean, who would ever use this? They ought to figure out some directfb stuff for the cell phone or something. /typical x-hater statement
This is cool -- and one of the reasons why X is cool. While it's aimed at mobile devices, it'll breathe new life into old hardware, too. Like my SS10, for instance -- it's too slow to run much anything other than NetBSD and an X server. But it runs remote apps fine. It could even make my old Mac Quadra useful as a basic X console.
Just what X was made for I thought.
First I tried straight X (over ssh -X -C of course). This is on a 256k upstream DSL link.
The performance was pants. Really bad. At first I thought I must be doing something wrong. To be honest, Gimp wasn't too bad, but a Gnome 2 application like Xchat2 was really slow. Menus would take an age to display.
I tried looking around for a low bandwidth solution, but couldn't find any free ones.
I've ended up using VNC over SSH. It's much better than straight X. Plus it's got the added advantage that I can just leave the application running, and connect to it from anywhere.
With X, there is no easy way (xmove was impractical) to leave an application running, and move it between desktops.
-- Hulver's site
Always the problem with these things. ssh display forwarding and lbxproxy can both reduce the bandwidth used by X11 but both increase the latency, sometimes to unacceptable levels.
On the corporate LAN we have 100Mbit switched and haven't noticed bandwidth being a problem. We have however noticed that both lbxproxy and ssh require more CPU in order to perform compression and buffering which *can* be a problem on a shared server if the number of concurrent sessions it can support drops by 20%.
I guess if you want X to your phone then it could be an issue, but that's a fairly niche market.
Government of the people, by corporate executives, for corporate profits.
Another product that's been around for a while and works pretty good is Differential X Protocol Compressor. How does this new product differ?
This is great to hear. Up till now, even though X has had remote display abilities built-in, it has not been at all practical to replace something like ICA or even RDP. The next step though is to get thin client manufacturers (maybe neoware's linux-based models?) to support this protocol natively. The article doesn't mention how large the libraries required for NX are, but hopefully it is something that could be added to existing thin clients.
Along with that step, it would be great to see "shadowing" support, which has been one of the killer support features of Metaframe (and now TS). The neoware devices have built in tightvnc, but it is not quite as good as ICA/RDP shadowing (NX probably wouldn't have been necessary if it was)
-Mark
I know nobody likes to talk about p... pr... proprietary applications on Linux, but in reality, commercial applications will an important part of Linux's future if it ever takes hold on the desktop. Could this functionality, delivered to any X application be perceived as a reason NOT to develop commercial applications for linux?
Citrix ICA has a very stringent license-management system, allowing licensed applications to be served remotely only to licensed clients, and only to a limited number at a time. This is important for software publishers... they don't want groups of people to buy 1 license and serve it for all their friends.
Why hasn't Windows implemented functionality like remote X applications? It's not like it would be hard for them, although you know they'd never get it secure. Imagine if ANY windows program could be served to other people indiscriminately. That would kill their licensing scheme. A perfect example of why proprietary software development works against the needs of the consumer. Windows users haven't demanded Windows network transparency because they either don't know it's possible, or think Terminal Services is "OK". (haha, good one). There's a reason why Terminal Services will only work for 1 desktop at a time.
I have a feeling that the network-transparency of X is already a barrier to many commercial applications. Now this proxy server thing is going to make it work better and faster, even with higher latencies/lower bandwidths? Not that it's a real problem, but if you were wanting commercial apps like Adobe, Macromedia, sound editing, video editing, 3d redering, etc. to come to Linux, maybe it'd be worthwhile to think about license protection mechanisms for X applications...
-3Suns
~~~~
The Revolution will be Slashdotted
VNC isn't like that. The x client just continues on its merry way, rendering rapidly to the vnc server. The vnc viewer, meanwhile, sees only what it has enough bandwidth to download. You could play a movie over VNC if you wanted, but you'd only see a tiny fraction of the frames :) For this reason I find VNC greatly improved on slow/high-latency links compared to X.
I see this new thing uses a proxy, and that extra layer raises the possibility for sloppy synchronization. I wonder if that is part of the trick, of if it's just lots of caching?
>>How does this new product differ?
DXPC was a pre-decessor to NX. NX developers used to work on DXPC. They have now create something that is 100x better and more usable than DXPC -- and they are not finished yet with development.
Exciting features are on the way: one ins session detaching and re-attaching from a different local host....
>> What ever happened to LPX?
It became NX and is usuable now at last....
Needless to say, this means that MS Terminal Server wins in the performance department as long as you are using standard Win32 apps. However, it is also much less flexible - if you want to run an app that doesn't use standard controls (like, say, Winamp) you are back on VNC's territory, and VNC is designed around streaming bitmaps, which gives it a slight advantage.
Of course, the MS approach doesn't work too well on Linux, because of the large variety in toolkits; it's easier to simply stream bitmaps than to create a tool that recognizes and works well with 10 or more different toolkits and even then leaves many apps out in the cold.
For your application, however, I would recommend VNC: since you are simply streaming a bitmap (I doubt MS Terminal Server groks X), VNC has a number of different compression options and tradeoffs that can help improve performance a great deal over what X offers. While it may take some tweaking to get really good performance, you will almost certainly get some gain out of going to VNC in your application.
That's it. I'm no longer part of Team Sanity.